top/vmstat等cpu iowait值含义
[| 2013/06/05 23:03]
今天发现了一个现象。有一台io压力比较大的机器,基本iowait百分之七十左右。idle接近0。按我的理解是百分之七十的cpu都在等待或处理io。没有空闲的时间片了。
但开启了一个视频转码服务后,iowait降到很低水平,usr和sys飙高,idle还是接近0。但此时发现视频转码和原io操作的服务均正常运行,未发生性能波动。
马上感觉到其中的矛盾。cpu不是用完了么?为啥还能承受一个视频转码这种cpu密集的服务呢?
仔细查看了一下iowait的解释。原来它的真实含义是:cpu空闲并且有进程在等待io就绪的时间。
也就是说如果iowait很高。那么磁盘压力较大。但此时cpu是较为空闲的。此时如果运行诸如视频转码这种cpu密集型操作。是可以提高cpu利用率的。这一点在服务混布提高利用率上可以做文章。
但开启了一个视频转码服务后,iowait降到很低水平,usr和sys飙高,idle还是接近0。但此时发现视频转码和原io操作的服务均正常运行,未发生性能波动。
马上感觉到其中的矛盾。cpu不是用完了么?为啥还能承受一个视频转码这种cpu密集的服务呢?
仔细查看了一下iowait的解释。原来它的真实含义是:cpu空闲并且有进程在等待io就绪的时间。
也就是说如果iowait很高。那么磁盘压力较大。但此时cpu是较为空闲的。此时如果运行诸如视频转码这种cpu密集型操作。是可以提高cpu利用率的。这一点在服务混布提高利用率上可以做文章。