如何在Ubuntu中调整SSD以提高性能

时间:2020-01-09 10:45:08  来源:igfitidea点击:

有很多技巧可用于在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更改。