切换调度器¶
每个 IO 队列都有一组与之相关的 IO 调度器可调参数。这些可调参数控制着 IO 调度器的工作方式。您可以在以下位置找到这些条目:
/sys/block/<device>/queue/iosched
假设您的 sysfs 挂载在 /sys 上。如果您没有挂载 sysfs,您可以通过键入以下命令来挂载:
# mount none /sys -t sysfs
可以为给定的块设备动态更改 IO 调度器,以选择 mq-deadline、none、bfq 或 kyber 调度器之一,这可以提高该设备的吞吐量。
要设置特定的调度器,只需执行以下操作:
echo SCHEDNAME > /sys/block/DEV/queue/scheduler
其中 SCHEDNAME 是已定义的 IO 调度器的名称,而 DEV 是设备名称(hda、hdb、sga 或您拥有的任何名称)。
可以通过简单地执行 “cat /sys/block/DEV/queue/scheduler” 来找到已定义的调度器列表 - 将显示有效名称的列表,当前选择的调度器将显示在括号中。
# cat /sys/block/sda/queue/scheduler
[mq-deadline] kyber bfq none
# echo none >/sys/block/sda/queue/scheduler
# cat /sys/block/sda/queue/scheduler
[none] mq-deadline kyber bfq