下面是 top 命令的输出,显示特定时刻的总体 CPU 利用率为“57.6%us, 24.0%sy”,但没有任何进程导致 CPU 使用率激增。
还有什么可能导致如此高的 CPU 利用率?我怎么知道导致CPU如此高的确切进程?
我在 vmstat 中看到 >10000 次上下文切换,这会导致 CPU 如此高吗?
顶部:
top - 22:56:25 up 808 days, 20:16, 1 user, load average: 1.96, 1.80, 1.69
Tasks: 70 total, 2 running, 68 sleeping, 0 stopped, 0 zombie
Cpu(s): 57.6%us, 24.0%sy, 1.3%ni, 15.6%id, 0.0%wa, 0.1%hi, 1.3%si, 0.0%st
Mem: 2076108k total, 682120k used, 1393988k free, 0k buffers
Swap: 0k total, 0k used, 0k free, 142888k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2201 root -2 0 88000 8608 5812 S 3.8 0.4 24481:27 process1
1393 root 20 0 81168 9888 1252 S 1.9 0.5 50250:12 process2
16291 admin 20 0 2616 984 808 R 1.9 0.0 0:00.02 top
1 root 20 0 3500 748 660 S 0.0 0.0 0:06.69 init
2 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root 15 -5 0 0 0 S 0.0 0.0 20:06.23 ksoftirqd/0
虚拟机状态:
vmstat 1 10
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r b swpd free buff cache si so bi bo in cs us sy id wa st
4 0 0 1388252 0 148352 0 0 0 0 1 1 23 16 61 0 0
4 0 0 1388124 0 148352 0 0 0 0 346 11694 74 26 0 0 0
2 0 0 1388124 0 148352 0 0 0 0 366 12919 74 26 0 0 0
2 0 0 1388252 0 148352 0 0 0 0 364 12910 67 33 0 0 0
1 0 0 1388252 0 148352 0 0 0 0 350 11537 72 28 0 0 0
2 0 0 1388252 0 148352 0 0 0 0 360 13018 73 27 0 0 0
1 0 0 1388252 0 148352 0 0 0 0 352 12476 77 23 0 0 0
3 0 0 1388124 0 148352 0 0 0 0 352 12354 79 21 0 0 0