2019 年在 SSD 上交换(和休眠)?

OZ1*_*SEJ 18 ssd hibernate swap

我试图在我的笔记本电脑上启用休眠,当我遇到这篇文章时,不鼓励在 SSD 磁盘上启用休眠。

然后我看到,那个帖子已经四年了。2015 年和 2019 年之间有什么变化,或者我仍然不应该在笔记本电脑的 SSD 磁盘上启用休眠?

Tak*_*kat 22

今天的SSD是很多比他们4年前,使从冬眠穿少显著涉及的写周期大。

现代 SSD 具有100-300 TBW(写入的 TB),即保证在出现故障之前能够写入 100-300 TB。这似乎足够了,但考虑到每次休眠时,您可能会写入内置的全部 RAM。在最坏的情况下,每次休眠将在具有 16 GB RAM 的笔记本电脑上写入 16 GB 数据。

具有 100 TBW 的 SSD 将持续

100.000 : 16 = 6250 次休眠周期
每天 4 次休眠使这 1562 天或
4,3 年

请注意,在这 4 年中,我们只是冬眠。我们没有在 SSD 上写过任何东西。

当然内核在写入前会压缩内存,有的SSD自带300TB或更多,我们可能只想一天休眠一次,或者我们只有4GB内存,所以直到驱动器出现故障的时间跨度可能会很大更长。

时至今日,休眠仍对 SSD 的写入负载产生重大影响。另一方面,从 SSD 启动不会写入大量数据。对于不经常休眠的低 RAM 机器,现代 SSD 的使用寿命可能就足够了。

  • 很高兴在所有 FUD 重新 SSD 之后听到一些常识。我有 2 个 Crucial - MX500 2 TB 2.5" SSD,它们的 TBW 为 700TB。所以 SSD 的寿命将明显大于系统本身的寿命。我的一个赞:) (5认同)
  • @ilkkachu 它只写了使用的东西。有趣的是,这似乎包括部分缓存……我在 Linux 4.19 的系统上进行了快速测试;它有 32GiB 内存,其中大约 4G 用于程序,14G 用于缓冲区/缓存。根据日志,它在休眠期间写入约10G,恢复后内存使用量约为4G + 6G缓冲区/缓存。所以看起来它只保存使用的东西,“使用的”包括_一些_缓存,但不是所有的东西。我不知道它如何确定要保留哪些缓存以及要丢弃哪些缓存。 (4认同)
  • 请注意,制造商列出的 TBW 是一个非常保守的估计:[技术报告进行了一项实验以确定实际 TBW 值是多少](https://techreport.com/review/27909/the-ssd-endurance-experiment- theyre-all-dead/),并且所有经过测试的驱动器都实现了**至少**两倍于其额定 TBW 且无故障。这是旧的、较小的驱动器。同样重要的是要注意,在驱动器耗尽写入后,它仍将保持可读状态,因此您不会丢失任何数据。 (3认同)
  • 休眠是否会将 RAM 的 _all_ 写入磁盘?还是只是使用的零件?将例如缓存的磁盘数据写入休眠映像似乎没有任何意义,因为它已经在磁盘上。 (3认同)
  • 文件大小作为内核参数设置为 RAM 的 2/5。见[这个问题](http://askubuntu.com/questions/1034185)。如果您有足够大的 SSD,则将此文件变大将加快休眠速度。 (2认同)

Zei*_*kon 6

当我购买我的 SSD(不是顶级品牌)时,制造商的使用寿命估计表明,基于合理的写入活动,即使将驱动器用于交换以及操作系统和数据存储,我也可能期望80 年的使用寿命。

SSD 硬件在我拥有的四年中并没有变得更糟,所以你应该像十年前拥有一个盘片驱动器一样对待你的 SSD,并期望它比类似容量的盘片驱动器更耐用被滥用。

与普通的使用中交换相比,休眠几乎完全没有使用——所以即使在 2015 年,当时的硬件也应该没有问题。

  • 我同意 qwr 的观点:营销部门关于寿命的说法(尤其是当他们包含黄鼠狼词“可能”时)不应该是 stackexchange 答案中的前导句子。 (4认同)
  • 这个答案最好用数字来支持。 (3认同)