给Archlinux开启BFQ和MuQSS
最近在Arch上更新系统的时候,总是遇到图形完全卡住的情况,今天上午突然想起来自己曾经设置了使用noop的IO调度,猜测是因为这个。然后本着不折腾不舒服的原则,打算使用ck内核上MuQSS的进程调度和BFQ的IO调度。
ck内核并没有在arch的仓库,但是aur有linux-ck的包,安装一下就可以了。
1 |
|
编译需要一些时间,在我的破本子i7-8550U编译了一顿过桥米线的时间,然后成功使用了ck内核。
开启MuQSS
ck内核默认使用的就是MuQSS调度,并不需要修改什么,开机即可。
开启BFQ
开启BFQ需要一些手动设置。分为两步:
- 修改grub,给内核提供新的参数
- 使用udev开启动态调整
修改grub
编辑/etc/default/grub
中GRUB_CMDLINE_LINUX_DEFAULT
,增加一行内容:
1 |
|
然后更新grub配置文件:
1 |
|
创建udev规则
创建并编辑/etc/udev/rules.d/60-scheduler.rules
1 |
|
上面的配置是给固态硬盘使用deadline,给机械盘使用bfq,给nvme盘bfq。
本着电脑只有ssd,所以天不怕地不怕的原则,我选择全部使用bfq。
然后重启电脑,查看所有硬盘的调度器:
1 |
|
通过dmesg查看MuQSS是否开启:
1 |
|
总结
MuQSS是BFS(脑残调度器)的进化版,主要是改进了BFS的O(n)复杂度,BFS适用于桌面环境用户,可以提供较好的进程切换和延迟。
BFQ是针对硬盘的IO调度,它通过预先分配一定的IO吞吐量来合理安排每个进程的IO操作。我需要用几天来感受一下MuQSS和CFQ的好处。
给Archlinux开启BFQ和MuQSS
https://blog.justforlxz.com/2019/10/24/给Archlinux开启BFQ和MuQSS/