top显示高用户空间CPU利用率,但所有进程显示0

top显示高用户空间CPU利用率,但所有进程显示0

问题描述:

关于为什么负载将通过屋顶,top显示每个CPU用户空间利用率为85%或更高的任何想法,但没有任何进程被标记为任何CPU利用率?top显示高用户空间CPU利用率,但所有进程显示0

我第一次见过这个。我们有一台平均负载为20的服务器,每个CPU的故障率非常高(> 85%),但列表中没有任何处理器具有任何 CPU利用率。这里有一个例子,是的,这是与从最高CPU利用率到最低CPU利用率排序的过程 - 每一次在一个蓝色的月亮中,我们实际上会看到一个显示“1”作为CPU%的进程。

这是一个mysql服务器框。

top - 16:08:48 up 185 days, 15:27, 5 users, load average: 20.60, 17.20, 13.17 
Tasks: 221 total, 2 running, 219 sleeping, 0 stopped, 0 zombie 
Cpu0 : 90.3%us, 5.8%sy, 0.0%ni, 3.2%id, 0.6%wa, 0.0%hi, 0.0%si, 0.0%st 
Cpu1 : 89.1%us, 5.8%sy, 0.0%ni, 4.5%id, 0.6%wa, 0.0%hi, 0.0%si, 0.0%st 
Cpu2 : 86.4%us, 5.0%sy, 0.9%ni, 6.9%id, 0.6%wa, 0.0%hi, 0.0%si, 0.0%st 
Cpu3 : 88.1%us, 5.8%sy, 1.3%ni, 4.8%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st 
Cpu4 : 89.8%us, 7.2%sy, 0.0%ni, 1.3%id, 0.0%wa, 0.0%hi, 1.6%si, 0.0%st 
Cpu5 : 91.0%us, 2.6%sy, 0.0%ni, 5.4%id, 1.0%wa, 0.0%hi, 0.0%si, 0.0%st 
Cpu6 : 91.8%us, 4.6%sy, 0.3%ni, 3.3%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st 
Cpu7 : 78.8%us, 14.4%sy, 1.3%ni, 5.4%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st 
Mem: 12326280k total, 12147144k used, 179136k free, 158512k buffers 
Swap: 8420344k total,  0k used, 8420344k free, 10731260k cached 

    PID USER  PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND                                        
22691 root  20 0 19348 1536 1068 R 1 0.0 0:00.29 top                                         
8723 root  20 0 19356 1556 1064 S 0 0.0 0:01.51 top                                         
21562 zabbix 25 5 64000 1224 656 S 0 0.0 54:17.09 /usr/sbin/zabbix_agentd                                    
21566 zabbix 25 5 63976 1132 524 S 0 0.0 151:05.16 /usr/sbin/zabbix_agentd                                    
25165 root  20 0 18700 2744 1840 R 0 0.0 0:00.01 perl /usr/local/bin/mk-heartbeat -D utility --interval 1 --update -h rs4 --password                  
    1 root  20 0 23708 1184 596 S 0 0.0 0:33.56 /sbin/init                                       
    2 root  20 0  0 0 0 S 0 0.0 0:00.01 [kthreadd]                                       
    3 root  RT 0  0 0 0 S 0 0.0 0:34.65 [migration/0]   
+0

'vmstat'和'iostat'的输出? – ninjalj 2012-02-29 01:46:43

+0

我假设你跑sudo作为sudo,万一有帮助吗? – rogerdpack 2013-07-19 16:21:48

平均负载不显示CPU使用 - 它会显示许多运行进程是如何在“运行队列”:等待运行阻塞等待磁盘IO。您不会看到它们占用CPU时间 - 相反,如果您在状态RD中查找进程,那么这将大致显示负载平均计算中涉及的任务。

+0

确实如此,但这并不能解释为什么每个CPU在用户空间中的利用率高于85%,而且没有任何进程的CPU利用率达到1%。 – 2012-02-28 22:53:29

+0

哈,我错过了。接得好。 – sarnold 2012-02-28 22:59:48

我偶尔会遇到这种情况,其中一个硬件设备(DVD或Wifi调制解调器)出现问题。驱动程序正在通过繁忙的等待重置或重新初始化硬件。在这段时间内没有任何过程需要收费,但系统真的很忙,无论负载平均值多低。当系统日志中的条件恢复正常时,会有完全一致的证据。