我遇到了包含以下建议的这篇文章:
交换空间和交换性能
我将我的交换分区保留在旧硬盘驱动器上。在SSD上进行交换会更快,但也会缩短SSD的寿命。
我的系统内存充足,因此我还将交换性能值减少到0,以告诉Ubuntu只有在绝对必要时才进行交换。我通过向/etc/sysctl.conf添加行vm.swappiness=0来实现这一点。
将交换性能设置为零真的能增加我的SSD的寿命吗?我在其他地方找不到相关参考资料。
sudo smartctl -a /dev/sda | grep Total_LBAs_Written | awk '{print $10*512/1024/1024/1024 " GiB"}'
你可以在新的磁盘上创建一个新的分区,或者只是创建一个交换文件;创建一个新的分区几乎总会带来更好的性能。
如果你没有备用驱动器可以移动到,你可以修改一个设置,只有当你的物理内存占用达到100%时才启用交换,这将减少对交换文件的负载,有助于保护你的固态硬盘。只需按下键盘上的Ctrl+Alt+T组合键打开终端。当终端打开后,运行以下命令:
echo 0 > /proc/sys/vm/swappiness
SSD的磨损与写入循环有关
固态硬盘的写入操作会相对较快地使其磨损。尤其是早期的SSD,这方面比较脆弱,但新一代的SSD也同样存在这个问题,只是程度较轻。
使用Trim
TRIM是您在使用SSD时的一个优势。它运行在软件中,并与SSD控制器通信,告诉它哪些“块”不再需要文件系统并且可以安全地清理和覆盖。这不会真正改善性能,但会延长SSD的使用寿命。
来源:Linux SSD调整 & 优化SSD的操作指南
smartctl
输出的想法,不过我的代码更加简洁。我从来不明白为什么人们不知道awk
内置了grep
功能。sudo smartctl -a /dev/sdb | awk ' ($0 ~ /Total_LBAs_Written/) {print ($10*512)/(1024^3) " GiB"}'
sudo smartctl -a ${device} | awk ' ($0 ~ /Total_LBAs_Written/) { if (($10*512)/(1024^3) > 1000) { msg="TiB"; size=($10*512)/(1024^4); } else { msg="GiB"; size=($10*512)/(1024^3); }; printf "\nThis device has had %.2
f %s written to it.\n",size,msg; }'
swappiness
值,指出该数字范围从0到200,并表示对不同类型的交换的相对权重。 - palswim