mordorwww 发表于 2016-07-15 17:51

top 显示idle 0%, wa 100%, 其它0%是什么意思

本帖最后由 mordorwww 于 2016-07-15 17:56 编辑

此时ssh上反应很慢,但是整个系统CPU占用只有50%

难道说整个系统都卡在IO上了?


%Cpu0:0.0 us,0.0 sy,0.0 ni,100.0 id,0.0 wa,0.0 hi,0.0 si,0.0 st
%Cpu1:0.3 us,0.0 sy,0.0 ni,0.0 id, 99.7 wa,0.0 hi,0.0 si,0.0 st
%Cpu2:0.0 us,0.0 sy,0.0 ni,0.0 id,100.0 wa,0.0 hi,0.0 si,0.0 st
%Cpu3:0.0 us,0.0 sy,0.0 ni,100.0 id,0.0 wa,0.0 hi,0.0 si,0.0 st


以前记得有人说过,此时其实CPU占用是0
但是这个系统跑在虚拟机上, 事实上从物理机看,CPU占用是50%(VMWARE占50%)
到底什么意思呢

mordorwww 发表于 2016-07-16 08:20

本帖最后由 mordorwww 于 2016-07-16 08:38 编辑

根据下面这个解释,我的现象不合理啊

而且你IO搞不应该导致ssh登录交互卡


http://veithen.github.io/2013/11/18/iowait-linux.html


For a given CPU, the I/O wait time is the time during which that CPU was idle (i.e. didn’t execute any tasks) and there was at least one outstanding disk I/O operation requested by a task scheduled on that CPU (at the time it generated that I/O request).

nswcfd 发表于 2016-07-18 13:06

通常wa高代表(未完成的)io比较高,整个cpu没干别的事情,一直在忙着“调度”io。

ssh慢的原因,要么sshd也运行在cpu1/cpu2上,要么ssh运行的过程中,会产生临时文件的io,可以跑一些不产生io的命令判断一下是一种。

nswcfd 发表于 2016-07-18 13:10

不过通常bash本身在每个命令结束之后也会产生很多io操作(例如修改history文件,刷新PS1等),估计不好区分。

mordorwww 发表于 2016-07-18 15:51

nswcfd 发表于 2016-07-18 13:10 static/image/common/back.gif
不过通常bash本身在每个命令结束之后也会产生很多io操作(例如修改history文件,刷新PS1等),估计不好区分 ...


整个系统直接挂死,ping都ping不通了
页: [1]
查看完整版本: top 显示idle 0%, wa 100%, 其它0%是什么意思