等待IO时,进程是不是一定被切换到 "等待IO"的状态上去

pplorins 2012-03-23 11:36:24
其实是两个问题:

1. 首先,"处于'等待IO'状态下的进程,是不耗CPU的",这个说法没错吧?
然后,一个进程在等待IO(网络的、磁盘的)的时候,是否一定会被切换到 进程"等待IO"的状态上去?
如果是的话,岂不是所有等待IO的进程都是不耗费CPU的了?


2. 还有, top、mpstat、dstat、iostat等命令中的IOWAIT那一列的准确含义,不清楚。
man手册的解释是:
show the percentage of time that the CPU or CPUs were idle during which the system had an outstanding disk I/O request.

我试验过,IOWATI高时,idle是低的,他们俩是"互斥"的关系。那就是说,IOWAIT这列的值,就是进程在IO上耗费的CPU时间了?
我就不明白了,为什么一个进程等待IO的时候还会耗费CPU呢?IOWAIT含义到底是什么?
...全文
760 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
pplorins 2012-03-26
  • 打赏
  • 举报
回复
求高人解答啊。。。。~~~
pplorins 2012-03-24
  • 打赏
  • 举报
回复
mark一下
天亮后说晚安 2012-03-24
  • 打赏
  • 举报
回复
1. 首先,"处于'等待IO'状态下的进程,是不耗CPU的",这个说法没错吧? 错
2. 我认为 wait 是指CPU 检测IO时间

23,116

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧