如何在Ubuntu中调整SSD以提高性能
有很多技巧可用于在Linux中调整SSD,以及有关有效和无效的许多轶事报告。我们通过一些特定的调整运行了自己的基准,以向我们展示真正的差异。
基准测试
为了对磁盘进行基准测试,我们使用了Phoronix测试套件。它是免费的,并且具有Ubuntu的存储库,因此我们无需从头编译即可运行快速测试。
突出的调整
人们在升级到SSD时建议进行很多更改。在过滤掉一些较旧的内容之后,我们列出了一些简短的调整,Linux发行版并未将这些调整作为SSD的默认值。其中三个涉及编辑fstab文件,因此在继续执行以下命令之前先进行备份:
sudo cp /etc/fstab /etc/fstab.bak
如果出现问题,我们始终可以删除新的fstab文件,并用备份副本替换它。如果我们不知道这是什么,或者想重新了解它是如何工作的,请查看IGI解释:什么是Linux fstab以及它如何工作?
避开访问时间
我们可以通过减少操作系统写入磁盘的数量来帮助延长SSD的寿命。如果我们需要知道每个文件或者目录的最后访问时间,可以将这两个选项添加到/ etc / fstab文件中:
noatime,nodiratime
将它们与其他方法一起添加,并确保将其全部用逗号分隔且没有空格。
启用TRIM
我们可以启用TRIM来帮助长期管理磁盘性能。将以下选项添加到fstab文件中:
discard
即使在标准硬盘驱动器上,这对于ext4文件系统也很有效。内核版本必须至少为2.6.33或者更高;如果我们使用Maverick或者Natty,或者在Lucid上启用了反向移植,则将为我们提供服务。尽管这并不能特别改善初始基准测试,但从长远来看,应该可以使系统性能更好,因此成为我们的榜单。
Tmpfs
系统缓存存储在/ tmp中。我们可以告诉fstab将此文件作为临时文件系统安装在RAM中,这样系统将减少与硬盘的接触。将以下行添加到/ etc / fstab文件底部的新行中:
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
保存fstab文件以提交这些更改。
切换IO调度程序
系统不会立即将所有更改写入磁盘,并且多个请求会排队。默认的输入输出调度程序cfq可以解决此问题,但是我们可以将其更改为对我们的硬件更好的解决方案。
首先,使用以下命令列出可用的选项,将X替换为根驱动器的盘符:
cat /sys/block/sdX/queue/scheduler
我的安装在sda上。我们应该看到几个不同的选项。
如果我们有截止日期,则应该使用截止日期,因为这会给我们带来进一步的调整。如果没有,我们应该可以使用noop而不会出现问题。我们需要告诉OS在每次引导后使用这些选项,因此需要编辑rc.local文件。
很好地使用nano,因为对命令行很满意,但是我们可以使用任何我们喜欢的其他文本编辑器(gedit,vim等)。
sudo nano /etc/rc.local
如果要使用截止日期,请在出口0行上方添加以下两行:
echo deadline > /sys/block/sdX/queue/scheduler echo 1 > /sys/block/sdX/queue/iosched/fifo_batch
如果我们使用noop,请添加以下行:
echo noop > /sys/block/sdX/queue/scheduler
再次,用适合安装的驱动器号替换X。查看所有内容以确保它看起来不错。
然后,按CTRL + O保存,然后按CTRL + X退出。
重新开始
为了使所有这些更改生效,我们需要重新启动。之后,我们应该已经准备就绪。如果出现问题而无法启动,则可以系统地撤消上述每个步骤,直到可以再次启动。如果需要,我们甚至可以使用LiveCD或者LiveUSB进行恢复。
fstab更改将贯穿安装的整个生命周期,即使可以进行升级,但每次升级后(版本之间)都必须重新安装rc.local更改。