我知道wa
(在top
)测量等待I / O的CPU时间。 很多文章都这么说。
但我很困惑,根据2个知识点:
对?
CPU看起来没有时间在I / O上等待…会发生什么?
如果推荐一些书或文章给我进一步阅读,那么更好。
CPU空闲状态分为两个不同的“子”状态: iowait
和idle
。
如果CPU处于空闲状态,则内核将确定是否至less有一个I / O正在进行到本地磁盘或从该CPU启动的远程挂载的磁盘(NFS)。 如果有,则CPU处于iowait
状态。 如果没有从该CPU启动的I / O,则CPU处于idle
状态。
所以, iowait
是CPU闲置的时间百分比,并且至less有一个由该CPU启动的I / O。
iowait
计数器指出,该系统可以处理更多的计算工作。 仅仅因为CPU处于iowait
状态并不意味着它不能在该CPU上运行其他线程或进程。
所以, iowait
只是一种空闲的时间。
我不是100%确定我明白这个问题,但有一些想法。
这里还有另外一个问题,问这个问题,并且有一些很好的答案: 任何人都可以正确地解释IOWait是什么?
这里有一个很好的post: http : //veithen.github.io/2013/11/18/iowait-linux.html