首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当Linux没有I/O调度程序时,这意味着什么?

当Linux没有I/O调度程序时,这意味着什么?
EN

Server Fault用户
提问于 2015-05-20 15:45:56
回答 5查看 16.8K关注 0票数 10

我有一些虚拟机运行基于Ubuntu云的映像14.04-1 LTS版本.我希望看到VM上不同IO调度程序的IO性能,所以我在来宾操作系统上使用/sys/block/<drive>/queue/scheduler来更改IO调度程序。通常,应该有cfqdeadlinenoop可供选择。但我看到的是none。这是否意味着规范化删除了基于云的映像中的I/O调度程序,或者调度程序none是重命名的noop调度程序?如果系统中没有I/O调度程序,会发生什么呢?所有io请求都是以FIFO顺序直接发送给主机的?

谢谢你给我点亮光!

EN

回答 5

Server Fault用户

回答已采纳

发布于 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的意思是“不使用调度程序”。

票数 5
EN

Server Fault用户

发布于 2015-05-20 17:25:30

似乎在内核上,>= 3.13 none不再是noop的别名了。它显示在使用blk-mqI/O框架时;这意味着完全绕过旧的调度器,因为blk-mq (现在)根本没有任何调度器可供选择。

在早期的内核中,none确实是noop的一个缺乏文档的别名。有关更多详细信息,请参阅这里

票数 16
EN

Server Fault用户

发布于 2016-09-27 14:58:12

没有一个不是noop的别名。

因为没有正在使用的调度程序,因此不显示。SSD使用NVMe协议而不是SATA绕过传统的I/O调度器。

票数 3
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/693348

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档