SSD优化

Nef*_*pus 6 ssd optimization

我知道这已经讨论过很多次了,但是互联网上有很多不同的意见,哪些优化对 SSD 有利(以及是否使用它们)。此外,技术已经进步,一些建议可能已经过时。

FS 上的过度配置和可用空间

这似乎仍然相关,但根据ycombinator讨论中的用户 cabirum 的说法

您不必过度配置未分区的空间并保留 20% 的分区可用空间。这是一个或另一个,关键是要有足够的可用空间来进行适当的磨损平衡。

另一方面,在ArchWikinamhuy 的这篇文章中没有提到它。还有什么更简单的 Linux建议!

Noatime、nodirtime 和 relatime 挂载选项

namhuy建议两者,ArchWikieasylinux建议仅 noatime 和用户 andmarios 在ycombinator说:

noatime:这是旧的,使用relatime。

这是根据自 Linux 2.6.30 以来的手册页默认行为。

修剪

这可能是最大的混乱

  • easylinux/etc/rc.local. 不要使用discard挂载选项。
  • ArchWiki使用fstrim.servicefstrim.timer. 警告有关discard.
  • namhuy和simoncion ycombinator使用discard选项。

限制写入操作

ArchWikinamhuyeasylinux建议将浏览器缓存移至 RAM。这在ycombinator 中通常是不同意的。

IO调度器

似乎每个人都同意使用DeadlineorNOOP代替 default CFQ。但我不清楚何时使用Deadline以及何时使用NOOP(是否依赖于文件系统/SSD 供应商?)。

交换

不久前,有人告诉我完全禁用交换(哇:D)。根据ArchWikinamhuyeasylinux设置了vm.swappiness=1.

我对所有这些选项感到有些困惑。到目前为止,我只使用了其中的几个。我有没有提到重要的事情?某些 Linux 发行版是否会自动执行上述某些操作?


参考:

Ano*_*eek 1

重新过度配置 - 您需要确保的是 SSD 本身有足够数量的未使用的块。它是否知道这一点并不重要,因为 a) 它们未使用,因为它们位于未分区的空间中,因此从未被操作系统写入,或者 b) 它们已被写入零,并且 SSD 固件实现了色调学来检测这一点并将它们视为未分配,或者 c) 它们已成为 DISCARD(“修剪”)操作的目标。强烈建议其中任何(且仅)其中之一。

Re noatime:我发现我个人并不关心文件的上次访问时间,而且我使用的软件似乎也不关心。所以我用“noatime”安装所有东西。互联网上有一些关于未命名程序的模糊参考,如果使用“noatime”,这些程序就会发生故障,但我从未见过这样的程序。

重新修剪/丢弃:您应该定期运行 fstrim。如何调用它并不重要,但调用它的频率确实很重要。每次启动时运行它(例如使用 rc.local)可能会过多,除非您很少重新启动或您非常频繁地使用、然后释放磁盘空间,或两者兼而有之。不要使用“discard”挂载,因为它会导致内核在接近释放块的时间执行 TRIM 操作,这可能是您可能会注意到它导致的延迟增加的时间。您不太可能注意到或关心在(假设)凌晨 3 点运行的 cron 作业。我想对于一般的桌面工作负载来说,每月一次就足够了,对于写入量大的桌面工作负载来说,每周一次就足够了。我不知道有什么完美的方法可以知道何时建议使用 fstrim,因为块分配的详细信息通常被驱动器固件隐藏。如果您发现驱动器性能明显下降,那么尝试使用 fstrim 会是一个不错的选择。如果您没有注意到速度变慢,则可能不需要执行任何操作。

Re I/O 调度程序 - 对您关心的工作负载进行基准测试。经验证据是无可替代的。

重新交换 - 如今 RAM 相当便宜,所以我和我的雇主购买了大量 RAM - 我为家庭使用构建的每台机器至少有 16GB,工作服务器中至少有 256GB。对于我在家里和工作中遇到的所有机器上的所有工作负载,所有内容都可以轻松地容纳在 RAM 中,并且有足够的空间用于缓存。因此,我在家里和工作时禁用交换。此外,使用交换会导致性能下降,这对我和我们的用户来说都是不可接受的,因此这会导致我或我的雇主紧急去购买更多的 RAM。所以我从来不想使用交换 - 它试图隐藏我宁愿解决的内存不足问题。我无法评论你的立场。我想这可能是相似的。

最后,我禁用甚至卸载了流行 Linux 发行版上默认安装和启用的许多服务。这可以节省一些虚拟内存,但也许更重要的是,它可以“强化”机器以抵御攻击。如果做到这一点,那么 RAM 中应该几乎没有任何无价值的东西可以交换到磁盘而不牺牲性能。