如何更改为noop调度程序?

我的笔记本电脑中有一个SSD,我被告知切换到“noop”调度程序是首选。

如何更改为noop调度程序,以及在何处进行更改以使其在重新启动后保持不变?

编辑/ etc / default / grub,比如gksudo gedit /etc/default/grub ,这里你需要添加elevator = noop。

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"更改为GRUB_CMDLINE_LINUX_DEFAULT="quiet splash elevator=noop"

然后运行sudo update-grub2并重新启动。

假设你的硬盘是/dev/sda 。 然后,您可以检查当前正在使用的调度程序:

cat /sys/block/sda/queue/scheduler

(当前使用的调度程序将被[ ]括号括起来。)

你可以使用noop调度程序:

echo noop > /sys/block/sda/queue/scheduler

有关更多信息,请参阅此文章 。

要使更改保持不变,可以将命令放在/etc/rc.local

此Debian参考显示了如何动态检测SSD并相应地更改调度程序:

在具有不同驱动器类型的系统中,您可以使用udev规则调整设置(创建/etc/udev/rules.d/60-ssd-scheduler.rules):

#设置非旋转磁盘的截止日期调度程序

  ACTION=="add|change", KERNEL=="sd[az]", ATTR{queue/rotational}=="0",ATTR{queue/scheduler}="deadline" 

要确保您的内核可以检测旋转状态:

 $ for f in /sys/block/sd?/queue/rotational; do printf "$f is "; cat $f; done /sys/block/sda/queue/rotational is 1 /sys/block/sdb/queue/rotational is 1 /sys/block/sdc/queue/rotational is 0 <=== Only this is SSD! 

所有上述内容都直接引用了Debian参考资料,该参考资料还包含许多其他首次使用SSD用户感兴趣的元素。