1. 指标范围
1.1 User mode CPU utilization+ System mode CPU utilization
合理值:60-85%,如果在一个多用户系统中us+sy时间超过85%,则进程可能要花时间在运行队列中等待,响应时间和业务吞吐量会受损害;us过大,说明有用户进程占用很多cpu时间,需要进一步的分析其它软硬件因素;sy过大,说明系统管理方面花了很多时间,说明该系统中某个子系统产生了瓶颈,需要进一步分析其它软硬件因素。
![d003b12beb15bd4a9f907623edd104de.png](https://i-blog.csdnimg.cn/blog_migrate/4f0b8e9740e7df8ba23198cd811f50d0.jpeg)
1.2 Wa(wait)
参考值:小于25%,超过25%的wa的值可以表示子系统可能没有被正确平衡,也可能是磁盘密集工作负载的结果,系统的磁盘或其它I/o可能有问题,可以通过iostat/SAR –C命令进一步分解分析
1.3 Id(idle)
参考值:大于40,如果r经常大于4,且id经常小于40,表示cpu的负荷很重
1.4 r
参考值:小于4,队列大于4时,表明系统的cpu或内存可能有问题,如果r经常大于4,且id经常少于40,表示cpu的负荷很重。当队列变长时,队列中进程在等待cpu调度执行时所花的时间会变长
1.5 判断cpu瓶颈的方法
很慢的响应时间(slow response time)
Cpu的空闲时间为零(zero percent idle cpu)
过高的用户占用cpu时间(high percent user cpu)
过高的系统占用cpu时间(high percent system cpu)
长时间的有很长的运行进程队列(large run queue size sustained over time)
2. 如何查看cpu利用率
2.1 使用top命令查看
数据来自/proc/stat文件
![4becb43cb10676c691e6572a62bac3c3.png](https://i-blog.csdnimg.cn/blog_migrate/318b96928752147375ca4b657c765ae2.jpeg)
%us =(User time + Nice time)/CPU时间*100% %sy=(System time + Hardirq time +Softirq time)/ CPU时间*100% %id=(Idle time)/CPU时间*100% %ni=(Nice time)/CPU时间*100% %wa=(Waiting time)/CPU时间*100% %hi=(Hardirq time)/CPU时间*100% %si=(Softirq time)/CPU时间*100% %st=(Steal time)/CPU时间*100%