我遇到了这篇文章,其中包括以下建议:
交换和交换
我将交换分区保留在旧硬盘上。在 SSD 上交换会更快,但也会缩短 SSD 的寿命。
我的系统有足够的内存,所以我也将 swappiness 值减少到 0 以告诉 Ubuntu 只在绝对必要时进行交换。我通过将 vm.swappiness=0 行添加到 /etc/sysctl.conf 来做到这一点。
将swappiness设置为零真的会增加我的SSD的寿命吗?我在其他地方找不到对此的引用。
fal*_*ner 30
将 swappiness 减少到 0 意味着操作系统只会在没有更多可用的可用 RAM 时才开始使用 SSD 进行交换。
从理论上讲,这可以延长 SSD 的使用寿命,因为 SSD 将遭受更少的写入。这取决于它是否实际上增加了 SSD 的使用寿命:
Linux 很少使用交换 (尤其是与 Windows 相比),即使交换值也更高,因此与 RAM 使用相比,此设置可能不会改变具有大量 RAM 的系统上的交换行为。如果您的 RAM 不足,那么默认值 60 的交换可能会非常频繁地发生,在这种情况下,降低 swappiness 可能会对 SSD 的写入周期限制产生重大影响。
对于简单的消费者使用而言,SSD 的写入耐久性仍然相当高,至少对于基于MLC的 SSD 而言。他们说当前基于 MLC 的 SSD 可以容忍大约。3000-5000 次写入周期后才会磨损。使用 3000 限制进行计算,这意味着每天 10 GB 写入的 128 GB SSD 将在大约 10 小时内愉快地工作。38000 天,这意味着大约。100年。如果您有更大的 SSD,当然会在很久以后磨损。因此,您的 SSD 不太可能因为单元磨损而死亡。(当然,如果您在企业/服务器环境中使用 SSD,那么每日写入要高得多,但在企业环境中,通常使用基于SLC的 SSD。)
所以总结一下:理论上是的,降低swappiness会导致更长的SSD寿命,实际上可能不会。但是,如果您有一个基于 TLC 的 SSD,并且您的 RAM 不足,并且您通常经常向 SSD 写入数据,那么它也可以产生实际效果。
我有一个基于 MLC 的 128 GB SSD,我主要将我的系统用于办公/浏览,与我的 RAM 使用量相比,我有足够的 RAM,所以我的 SSD 没有承受沉重的写入负载(尽管我的机器是 24/7)。但是因为我根本不需要交换,而且很容易降低交换率,所以我在安装 SSD 时将交换率设置为 0,因为为什么不这样做呢?(实际上,我在所有机器上都将 swappiness 设置为 0,即使在只有 HDD 的机器上也是如此。)
您可以使用 来检查您的 SSD 在其生命周期中遭受了多少写入smartctl,寻找 带有 的线Total_LBAs_Written,这将显示有多少 512b 扇区已写入 SSD。(是的,我知道 SSD 物理上有 4K 块,而不是 512b,但 SMART 仍然说:Sector Size: 512 bytes logical/physical使用 512 块,我得到的结果与tune2fs -lLifetime 写入输出相当。)因此,将这个数字与 512 相乘,您将获得以字节为单位的写入,或简称:
sudo smartctl -a /dev/sda | grep Total_LBAs_Written | awk '{print $10*512/1024/1024/1024 " GiB"}'
Run Code Online (Sandbox Code Playgroud)
将以 GiBs 为 /dev/sda 打印出来。(只需将设备名称更改为您的 SSD 名称即可。)我的 128 GB SSD 遭受了大约。在一年多一点的时间内写入 800 GB,这意味着从 3000 开始只使用了 7 个写入周期。
小智 8
所有这些关于磨损 SSD 的讨论都是“猜测”。我有同样的感觉,但开始在商业上使用它们。我拥有东海岸最快的 Oracle 集群之一。3 年前,我们为整个存储和临时文件系统建立了 SSD。我们每天对 SSD 执行数十亿次写入操作。3 年后,我们仍然没有接近 10% 的倦怠。如果我可以在商业上做到这一点,它们将永远不会在住宅环境中磨损。所以——我专门为我的 linux 工作站和 BAM 上的交换空间实施了一个 SSD 解决方案!!!
因此,您的里程数因人而异,但 SSD 是各方面的最佳选择。
戴夫
是的。您确实需要更改交换性以延长 SSD 寿命。
\n\nSwappiness 可让您控制正在使用的交换文件量。Swappiness 值可以从 0 更改为 100。swappiness 值越高,内核尝试使用交换空间的次数就越多,swappiness 值越低意味着内核将使用更少的交换空间或不使用交换空间,具体取决于我们的设置。
\n\n默认的交换值是 60,如果你有足够的 RAM,你应该避免使用交换空间来写入和读取 SSD,而是使用 HDD。对于具有 4 GB 或更多 RAM 的系统,请尝试通过将 swappiness 设置更改为 10 甚至 0 之间来减少交换的使用,并且交换文件位于 HDD 上。
\n\n运行交换空间是磁盘 I/O 密集型操作,\xe2\x80\x99s 对于 SSD 来说实际上很糟糕。SSD 在损坏之前只能处理一定数量的写入,并且您\xe2\x80\x99 被迫购买另一个驱动器。因此,如果可能的话,请将交换空间移至远离 SSD 的辅助旋转驱动器\xe2\x80\xa6。
\n\n写入操作会相对较快地磨损固态硬盘。尤其是最古老的几代 SSD 在这方面很脆弱,但新一代的情况仍然如此,程度较轻。
\n\n您可以在新磁盘上创建一个新分区,或者只是创建一个交换文件;制作新分区几乎总是会带来更好的性能。
\n\n如果您没有\xe2\x80\x99t 可以移动到的备用驱动器,您可以更改一个设置,仅在物理 RAM 100% 满时启用交换,这将减少交换文件的负载,并帮助您的 SSD。只需按键盘上的Ctrl+ Alt+T打开终端。打开后,运行以下命令:
\n\necho 0 > /proc/sys/vm/swappiness\nRun Code Online (Sandbox Code Playgroud)\n\nSSD 磨损与写入周期有关
\n\n写入操作会相对较快地磨损固态硬盘。尤其是最古老的几代 SSD 在这方面很脆弱,但新一代的情况仍然如此,程度较轻。
\n\n使用修剪
\n\nTRIM 是与 SSD 一起使用的一个优势。它在软件中运行并与 SSD 控制器通信,告诉它文件系统不再需要哪些 \xe2\x80\x98blocks\xe2\x80\x99 ,并且可以安全地清理和覆盖。这不会真正提高性能,但会延长 SSD 的使用寿命。
\n\n\n