当前位置: 首页>>技术教程>>正文


如何更改为Noop Scheduler?

,

问题描述

我的笔记本电脑中有一个SSD,并且被告知最好切换到”noop”调度程序。

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

最佳解决方法

编辑/etc /default /grub,例如gksudo gedit /etc/default/grub,在这里您需要添加lift = 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

有关更多信息,请参见this article

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

第三种解决方法

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

In systems with different drive types you can adjust settings with a udev rule (create /etc/udev/rules.d/60-ssd-scheduler.rules):

# Set deadline scheduler for non-rotating disks

 ACTION=="add|change", KERNEL=="sd[a-z]", 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参考文献中引用,对于first-time SSD用户,它具有许多其他要素。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/7572.html,未经允许,请勿转载。