ionice 无效果

ionice 无效果

系统是 Ubuntu 10 LTS 64 位 (2.6.35.31),我在 xen 4.0 上运行,没有活动服务,cron 已停止,调度程序是 cfq,磁盘 /usr 已挂载自:

时间find /usr -exec stat {} \; > /dev/null 2>&1

给予

real    0m35.760s
user    0m0.270s
sys 0m3.910s

时间ionice -c3 find /usr -exec stat {} \; > /dev/null 2>&1

给予

real    0m36.110s
user    0m0.310s
sys 0m4.100s

这与预期完全一致,现在我同时运行两者:

时间find /usr -exec stat {} \; > /dev/null 2>&1与时间ionice -c3 find /usr -exec stat {} \; > /dev/null 2>&1

我认为离子化版本应该慢得多,而直接版本应该和单独运行时一样快。但是:

直的:

real    1m10.430s
user    0m0.320s
sys 0m3.940s

离子化:

real    1m10.230s
user    0m0.250s
sys 0m4.020s

这意味着 ionice 根本不起作用。有什么提示吗?

答案1

这几乎肯定不起作用,因为您没有使用 CFQ 内核调度程序。

查看/sys/block/xvdh/queue/scheduler您正在使用的。[] 括号中的是活动的。

现在似乎deadline大多数系统都支持该功能,但 ionice 却无法工作。(据我所知,它的文档记录非常糟糕)。

答案2

由于两个进程都在请求相同的文件,因此无论哪个进程先到达那里,都会从文件系统缓存中获取文件。由于它实际上并没有移动主轴,因此它不受 的影响ionice

相关内容