您不能在Kubuntu19.04中选择CFQ调度程序,因为它已经从5.0内核中删除了。在我的例子中,我需要CFQ,因为它提供了最好的性能与我的旋转硬盘驱动器时,运行一个虚拟机与Windows 10作为客户S.O,其他调度程序使系统无法使用。Kubuntu19.04在默认情况下只提供2部电梯mq-截止日期,而在我的例子中,没有一部比CFQ性能差得多。
sudo cat/sys/block/sda/queue/scheduler mq-deadline none
只有我必须尝试与其他两个调度程序,在默认情况下不会出现在安装,这些调度程序是BFQ和Kyber。
接下来,我将描述如何启用BFQ和Kyber模块。
1)首先用以下命令验证系统中是否存在这些模块:
sudo modprobe bfq sudo modprobe kyber-iosched
如果没有错误,则可以验证模块是否使用命令加载。
sudo cat/sys/block/sda/queue/scheduler
它必须返回
mq-deadline [bfq] kyber none
2)在系统启动时加载这些模块:
sudo -i echo kyber-iosched > /etc/modules-load.d/kyber-oisched.conf echo bfq > /etc/modules-load.d/bfq.conf
3)下一步是告诉系统使用哪个调度程序,如果不存在文件,则创建一个文件:
/etc/udev/udev es.d/60-调度器。
有以下几行
# set cfq scheduler
ACTION=="add|change",KERNEL=="sd[a-z]",ATTR{queue/rotational}=="1",ATTR{queue/scheduler}="bfq"
ACTION=="add|change",KERNEL=="sr[0-9]",ATTR{queue/rotational}=="1",ATTR{queue/scheduler}="bfq"如果您想尝试kyber而不是BFQ,请用"kyber“替换行的最后一个单词
4)使系统认识到变化。
sudo udevadm控制--重新加载;sudo udevadm触发器
并且这些更改被验证为
sudo cat/sys/block/sda/queue/scheduler
mq-deadline kyber [bfq] none
完成了。
资料来源:
https://community.chakralinux.org/t/how-to-enable-the-bfq-i-o-scheduler-on-kernel-4-12/6418
https://unix.stackexchange.com/questions/375600/how-to-enable-and-use-the-bfq-scheduler#376136
发布于 2019-06-21 20:17:26
取决于您的内核版本,CFQ可能会消失。它在内核5.0时就被删除了。这是相关提交组。
发布于 2019-06-21 21:20:35
Ubuntu19.04使用5.0内核,因此CFQ和Deadline不再可用。
对于大多数工作负载,即使是在HDD上,使用mq-截止日期调度程序也与使用任何旧的调度程序一样有效。只有对于只具有顺序磁盘读/写的工作负载,没有任何其他干扰,旧的调度程序才会更快。
https://askubuntu.com/questions/1152992
复制相似问题