Answers:
编辑/ 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
请参阅本文以获取更多信息。
要保留更改,可以将命令放在中/etc/rc.local
。
sudo echo noop > /sys/block/sda/queue/scheduler
吗?这是行不通的,因为以用户身份运行的外壳程序会在运行输出重定向的命令之前设置重定向。您可以echo noop | sudo tee /sys/block/sda/queue/scheduler
改用。请参阅即使使用sudo也无法回显“ hello”> x.txt吗?以及在Bash中使用带有重定向的sudo时如何解决“权限被拒绝”?了解更多信息和其他方法。(如果这不是您的意思,请让我知道。)
该Debian参考资料显示了如何动态检测SSD并相应地更改调度程序:
在具有不同驱动器类型的系统中,可以使用udev规则调整设置(创建/etc/udev/rules.d/60-ssd-scheduler.rules):
#设置非旋转磁盘的截止期限调度程序
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参考文献中引用,该参考文献对首次使用SSD的用户而言还有许多其他要素。