ionice 可以与截止日期调度程序一起使用吗?

ionice 可以与截止日期调度程序一起使用吗?

我的 Debian Wheezy 系统使用deadline调度程序。我习惯于ionice在繁忙时重新安排磁盘密集型作业的 I/O 优先级,据说这似乎有帮助(但我没有任何确凿的证据)。

ionice联机帮助页,内核文档这个 OpenSUSE 文档所有这些都表明只有cfq调度程序考虑ionice干预。他们没有明确指出其他调度程序会忽略它,但他们唯一提到的是cfq.

特别是其他调度程序是否可以deadline与 一起工作ionice

答案1

No.ionice是一种指定优先级的机制。但deadline忽略优先级,而是简单地对每个 I/O 操作施加过期时间,然后确保操作在满足过期时间之前成功。

更多信息请点击这里:最后期限 I/O 调度程序

Deadline 调度程序的主要目标是保证请求的开始服务时间。它通过对所有 I/O 操作施加最后期限来防止请求不足来实现这一点。除了排序队列(读和写)之外,它还维护两个截止时间队列。截止日期队列基本上按截止日期(过期时间)排序,而排序队列则按扇区号排序。

在服务下一个请求之前,截止时间调度程序决定使用哪个队列。读取队列被赋予更高的优先级,因为进程通常会阻塞读取操作。接下来,截止时间调度程序检查截止时间队列中的第一个请求是否已过期。否则,调度程序将从排序队列中处理一批请求。在这两种情况下,调度程序还会为排序队列中所选请求之后的一批请求提供服务。

默认情况下,读请求的过期时间为 500 毫秒,写请求的过期时间为 5 秒。

相关内容