我读到,它应该可以通过写入/ sys/block/[disk]/queue/scheduler来更改正在运行的内核上的特定设备的I/O调度程序。例如,我可以在我的系统上看到:选择一个Linux I/O调度程序
[email protected]:~$ cat /sys/block/sda/queue/scheduler
noop anticipatory deadline [cfq]
默认是完全公平排队调度程序。我想知道的是,如果在我的定制内核中包含所有四个调度程序有任何用处。除非内核足够聪明,为正确的硬件选择正确的调度程序,特别是基于闪存的驱动器的“noop”调度程序和传统的其他调度程序之一,否则看起来没有太多的关注将多个调度程序编译进去硬盘。
这是这种情况?
你怎么竟在运行时改变它? – 2009-06-17 21:48:15
noop相对于其他调度器的性能非常依赖于硬件和特定的负载。出于好奇,你正在运行什么磁盘,控制器和测试? – ephemient 2009-06-18 03:02:32
是的,当你拥有智能RAID控制器和其他知道比内核更好的访问模式的东西时,noop是很好的选择。截止日期也不错。 – 2009-06-18 03:23:32