我在教程中看到过不同的IO调度程序,例如cfq、noop,但是当我在linux上测试时,我没有看到它们。
$ cat /sys/block/sda/queue/scheduler
[mq-deadline] none
$ uname -r
5.13.0-27-generic
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.3 LTS
Release: 20.04
Codename: focal我想知道我是否能做更多的事情来看到更多的调度程序。有什么想法吗?
更新:
根据建议,我看到以下IOSCHED值
$ grep IOSCHED /boot/config-5.13.0-27-generic
CONFIG_MQ_IOSCHED_DEADLINE=y
CONFIG_MQ_IOSCHED_KYBER=m
CONFIG_IOSCHED_BFQ=m
CONFIG_BFQ_GROUP_IOSCHED=y此外,/lib/modules中有两个模块:
$ ls /lib/modules/5.13.0-27-generic/kernel/block/
bfq.ko kyber-iosched.ko当我加载模块时,我看不到列表中的bfq。
$ cat /sys/block/sda/queue/scheduler
[mq-deadline] none
$ sudo modprobe kyber-iosched bfq
$ cat /sys/block/sda/queue/scheduler
[mq-deadline] kyber none这是正确的输出吗?
发布于 2022-04-07 09:32:33
在大多数分发内核中,其他调度程序是可用的,但它们需要加载;例如
sudo modprobe kyber-iosched
sudo modprobe bfq将加载Kyber和BFQ /O调度程序(详见block/Kconfig.iosched ),然后它们应该是可选择的:
$ cat /sys/block/sda/queue/scheduler
[mq-deadline] kyber bfq none查看内核的/lib/modules/$(uname -r)/kernel/block文件(/boot/config-$(uname -r))中的.config和IOSCHED设置的内容。
https://unix.stackexchange.com/questions/698326
复制相似问题