在Linux/Unix下,CPU利用率分为用户态、系统态和空闲态, 分别表示CPU处于用户态执行的时间,系统内核执行的时间,和空闲系统进程执行的时间,其中有些小的指标
- 用户时间(User time)
官方英文为user cpu time (or) % CPU time spent in user space,表示CPU执行用户进程的时间,包括nices时间。通常期望用户空 间CPU越高越好。
us的值比较高时,说明用户进程消耗的CPU时间多,但是如果长期超50%的使用,那么我们就该考虑优化程序算法或者进行加速 - 系统时间(System time)
表示CPU在内核运行时间,包括IRQ和softirq时间。系统CPU占用率高,表明系统某部分存在瓶颈说明系统内核消耗的CPU资源多,通常值越低越好,这并不是良性表现,我们应该检查原因。 - 等待时间(Waiting time)
CPU在等待I/O操作完成所花费的时间。系统部应该花费大量时间来等待I/O操作,否则就说明I/O存在瓶颈。 - 空闲时间(Idle time)
系统处于空闲期,等待进程运行 - Nice时间(Nice time)
系统调整进程优先级所花费的时间 - 硬中断处理时间(Hard Irq time)
系统处理硬中断所花费的时间。 - 软中断处理时间(SoftIrq time)
系统处理软中断中断所花费的时间。 - 丢失时间(Steal time)
被强制等待(involuntary wait)虚拟CPU的时间,此时hypervisor在为另一个虚拟处理器服务
所以如果一台机器看到wa特别高,那么一般说明是磁盘IO出现问题,可以使用iostat等命令继续进行详细分析。