1. CPU Utilization
英文翻译就是CPU的利用率75%以上就比较高了(也有说法是80%或者更高)。有的博客上说除了这个指标外,还要结合Load Average和Context Switch Rate来看,有可能CPU高是因为后两个指标高导致的。
在Linux/Unix下,CPU利用率分为用户态、系统态和空闲态, 分别表示CPU处于用户态执行的时间,系统内核执行的时间,和空闲系统进程执行的时间,其中有些小的指标
1)用户时间(User time)
官方英文为user cpu time (or) % CPU time spent in user space,表示CPU执行用户进程的时间,包括nices时间。通常期望用户空 间CPU越高越好。
us的值比较高时,说明用户进程消耗的CPU时间多,但是如果长期超50%的使用,那么我们就该考虑优化程序算法或者进行加速
2)系统时间(System time)
表示CPU在内核运行时间,包括IRQ和softirq时间。系统CPU占用率高,表明系统某部分存在瓶颈说明系统内核消耗的CPU资源多,通常值越低越好,这并不是良性表现,我们应该检查原因。
3)等待时间(Waiting time)
CPU在等待I/O操作完成所花费的时间。系统部应该花费大量时间来等待I/O操作,否则就说明I/O存在瓶颈。
4)空闲时间(Idle time)
系统处于空闲期,等待进程运行
5)Nice时间(Nice time)
系统调整进程优先级所花费的时间
6)硬中断处理时间(Hard Irq time)
系统处理硬中断所花费的时间。
7)软中断处理时间(SoftIrq time)
系统处理软中断中断所花费的时间。
8)丢失时间(Steal time)
被强制等待(involuntary wait)虚拟CPU的时间,此时hypervisor在为另一个虚拟处理器服务
所以如果一台机器看到wa特别高,那么一般说明是磁盘IO出现问题,可以使用iostat等命令继续进行详细分析。
参考博客
http://www.cnblogs.com/yjf512/p/3383915.html
http://blog.itpub.net/8554499/viewspace-580300/
http://www.361way.com/linux-context-switch/5131.html