可以从以下几个方面监控CPU的信息:
(1)中断; in
(2)上下文切换; cs
(3)可运行队列; r
(4)CPU 利用率。idle%
分析:
1. 使用top ,查看cpu使用率、cpu load 值,查看cpu使用情况
cpu 使用率高,cpu load值大于内核数,则说明中央处理器高负荷。
vmstat 查看cpu使用情况
procs ———–memory———- —swap– —–io—- –system– —–cpu——
r b swpd free buff cache si so bi bo in cs us sy id wa st
2 1 140 2787980 336304 3531996 0 0 0 128 1166 5033 3 3 70 25 0
0 1 140 2788296 336304 3531996 0 0 0 0 1194 5605 3 3 69 25 0
0 1 140 2788436 336304 3531996 0 0 0 0 1249 8036 5 4 67 25 0
0 1 140 2782688 336304 3531996 0 0 0 0 1333 7792 6 6 64 25 0
3 1 140 2779292 336304 3531992 0 0 0 28 1323 7087 4 5 67 25 0- interrupts(in)非常高,context switch(cs)比较低,说明这个 CPU 一直在不停的请求资源;
- context switch(cs)比 interrupts(in)要高得多,说明内核不得不来回切换进程;
- user time(us)一直保持在 80% 以上,而且上下文切换较低(cs),说明某个进程可能一直霸占着 CPU;
- 使用yourkit 查看那些进行占用cpu.
cpu 使用率高,cpu load值大于内核数,则说明中央处理器高负荷。
Cpu 成为系统瓶颈征兆:
1. 很慢的相应时间
2. Cpu 空闲的时间为0
3. 过高的用户占用cpu 时间
4. 过高的系统占用cpu时间
5. 长时间的很长的运行行程队列