切换调度器

每个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