我有一些虚拟机运行基于Ubuntu云的映像14.04-1 LTS版本.我希望看到VM上不同IO调度程序的IO性能,所以我在来宾操作系统上使用/sys/block/<drive>/queue/scheduler
来更改IO调度程序。通常,应该有cfq
、deadline
或noop
可供选择。但我看到的是none
。这是否意味着规范化删除了基于云的映像中的I/O调度程序,或者调度程序none
是重命名的noop
调度程序?如果系统中没有I/O调度程序,会发生什么呢?所有io请求都是以FIFO顺序直接发送给主机的?
谢谢你给我点亮光!
发布于 2016-11-20 16:29:48
来自这个Debian:
低延迟IO-Scheduler (对于使用NVMe协议而不是SATA的SSD来说,这一步是不必要的,后者绕过了传统的I/O调度程序,而是使用了
blk-mq
模块)。默认的I/O调度器队列数据以最小化HDD,这对于SSD来说并不是必需的。因此,使用"deadline"
调度器可以确保批量事务不会减慢小事务:安装sysfsutils
和echo“block/ sdX /queue/调度程序= deadline”>> /etc/sysfs.conf (调整sdX以匹配您的SSD)重新启动或回显截止日期>/sys/block/sdX/queue/调度程序
因此,答案是:none
不是noop
的别名。none
的意思是“不使用调度程序”。
发布于 2015-05-20 17:25:30
似乎在内核上,>= 3.13 none
不再是noop
的别名了。它显示在使用blk-mq
I/O框架时;这意味着完全绕过旧的调度器,因为blk-mq
(现在)根本没有任何调度器可供选择。
在早期的内核中,none
确实是noop
的一个缺乏文档的别名。有关更多详细信息,请参阅这里。
发布于 2016-09-27 14:58:12
没有一个不是noop的别名。
因为没有正在使用的调度程序,因此不显示。SSD使用NVMe协议而不是SATA绕过传统的I/O调度器。
https://serverfault.com/questions/693348
复制相似问题