简介
IO调度是决定读或写请求执行的内核部分。 Linux内核有四个选择[noop] anticipatory deadline cfq ,但大多数发行版使用默认的“CFQ”(完全公平队列)调度,它自2.6.18版本后一直是Linux的默认情况下的调度策略。这通常是一个很好的全面调度,并应提供良好的性能,同时共享访问驱动器“完全公平”这是试图在同一时间访问一个驱动器之间的所有不同的进程。在硬盘驱动器上,它似乎不辜负它的名字。
修改调度策略
更改的IO调度是很容易的。你并不需要更新到一个新的内核,甚至不必重新启动。这意味着你可以随时改变这个值并且看到他的效果;
比如
echo noop > /sys/block/sdb/queue/scheduler
less /sys/block/sdb/queue/scheduler
[noop] anticipatory deadline cfq
修改为另外一个调度策略
echo cfq > /sys/block/sdb/queue/scheduler
当你下一次进入时,调度策略就生效了;
修改为默认的调度策略
如上所说,只是修改调度策略很容易,但是如果重启后,修改的调度策略就会失效,要想修改默认的调度策略,需要修改内核参数
如要修改为默认的deadline
elevator=deadline
哪一个调度策略是最好的?
光说无用,只能

本文介绍了Linux内核中的四种IO调度策略:noop、anticipatory、deadline和CFQ,详细讲解了如何修改调度策略以及它们各自的特点。CFQ作为默认调度策略,旨在实现进程间的公平磁盘访问。然而,哪种策略最佳需要根据具体场景通过实验确定。
最低0.47元/天 解锁文章
636

被折叠的 条评论
为什么被折叠?



