我已经阅读了许多关于SSD优化的问题(如何优化SSD的操作系统?,在SSD上安装Ubuntu,对SSD优化感到困惑,等等。)。
这些问题大多数似乎已经过时(3岁以上),我对答案所走的所有方向都有些困惑。
所以我的问题是:截至今天,关于Ubuntu 14.04 / 15.04上SSD优化的普遍共识是什么?
现在甚至需要吗?
我已经阅读了许多关于SSD优化的问题(如何优化SSD的操作系统?,在SSD上安装Ubuntu,对SSD优化感到困惑,等等。)。
这些问题大多数似乎已经过时(3岁以上),我对答案所走的所有方向都有些困惑。
所以我的问题是:截至今天,关于Ubuntu 14.04 / 15.04上SSD优化的普遍共识是什么?
现在甚至需要吗?
Answers:
事情是,首先是关于SSD的最重要的部分是尽量减少写入磁盘,这就是为什么人们增加nodiratime
,noatime
到/etc/fstab
文件中。
其次,正在运行TRIM
,它将未使用的NAND内存块回收回SSD。Windows默认情况下启用了TRIM AFAIK,因此没有人打扰。对于Ubuntu,它确实有每周一次的TRIM cronjob,但是据我从Rinzwind的答案获悉,cron作业仅在Intel和Samsung SSD上运行。因此,无论您的SSD型号是什么,都必须编辑该/etc/cron.weekly/fstrim
文件以使其具有exec fstrim-all --no-model-check
一行。
近年来,这种情况没有改变-这些仍然是关键点,可以最大程度地减少写入并启用TRIM。
删除写入和昂贵的存储量是人们也删除交换区域的两个因素。默认情况下,Ubuntu创建等于您的RAM大小的交换分区。我有128个SSD和6 GB的RAM。这意味着默认情况下,Ubuntu将从128GB砍掉6 GB,为我的操作系统保留122GB,并且通常为5%保留给root用户,这样我就剩下122-122 * 0.05 = 115.9 GB。我不妨将该存储空间用于其他用途,这就是为什么我只有一个主分区,没有交换分区的原因,但是我确实有一个512 MB交换文件 作为保护功能(不是我打算用完RAM,但是总是建议进行交换)
noatime
-某些应用程序可能依赖于比较修改和访问时间,它们可能会失灵,realtime
更好,并且由于Linux内核2.6.30默认情况下处于启用状态,因此无需进行设置。您可以检查运行命令的方式挂载文件系统的方式$ cat /proc/mounts
cat /proc/mounts
。对于我的磁盘它不显示relatime
,才会启用,noatime
并且nodiratime
我在明确启用/etc/fstab
。至于noatime
,您能否提供一些依赖于它的应用程序的示例?
realtime
我的意思是 错字relatime
。
noatime
意味着nodiratime
,看到man mount
有关noatime
:Do not update inode access times on this filesystem (...). This works for all inode types (directories too), so implies nodiratime.
另外,恕我直言,这是没有必要使用noatime
时,relatime
可能会不会打破功能和似乎是一个不错的选择(它也推荐:SSDOptimization在wiki.debian.org)。
/
。根据man mount
:从Linux 2.6.30开始,内核默认为行为relatime
。 TL; DR自Ubuntu 16,起避免做任何事情:-)
您可能需要做的唯一一件事就是添加--no-model-check
到/etc/cron.weekly/fstrim
。
这条线应该看起来像这样
exec fstrim-all --no-model-check
通过以下方法检查您的SSD是否支持TRIM(几乎所有最新型号都支持)。
sudo hdparm -I /dev/sda | grep "TRIM supported"
如果您的SSD是/dev/sda
。如果是这样,请添加--no-model-check
。
与支持TRIM的SSD配合正常
对于16.04没有
fstrim-all
简单的fstrim没有--no-model-check
,它可以与Sandisk
ssd配合使用
通常,Ubuntu非常好的支持固态硬盘。
如果您有intel或SAMSUNG SSD,则默认情况下会启用自动修剪支持。
除了一个例外,您不必太在意:
您应该将个人数据存储在HDD上,以减少对SSD的写入量。