Linux top命令中CPU占用率非常大

Linux top命令中CPU占用率非常大

我在虚拟机中运行 SUSE Linux Enterprise Server 11 SP1。虚拟机管理程序是 KVM。虚拟机有 4 个虚拟 CPU 核心。现在有一件非常奇怪的事情。理论上,top 命令中的最大 CPU 使用率应该是 400%(因为有 4 个核心),但现在是 697%!有人能解释一下吗?这与虚拟机有关吗?

top - 17:52:33 up 2 days, 23:25,  5 users,  load average: 0.00, 0.00, 1.04
Tasks: 180 total,   1 running, 174 sleeping,   5 stopped,   0 zombie
Cpu0  : 99.4%us,  0.1%sy,  0.0%ni,  0.6%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu1  :  3.9%us, 11.6%sy,  0.0%ni, 83.5%id,  1.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu2  :  3.8%us, 12.7%sy,  5.3%ni, 78.2%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu3  :  0.0%us,  0.1%sy,  0.0%ni, 99.9%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   3926008k total,  1138064k used,  2787944k free,   159120k buffers
Swap:  2104472k total,     5876k used,  2098596k free,   424540k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                               
 5129 sa        20   0  120m  12m 3680 S  697  0.3  5124160h warpypxq                                                               
 5250 sadl      20   0 1119m  42m 6200 S    0  1.1  74:40.44 java                                                                  
    1 root      20   0 10376  724  688 S    0  0.0   0:02.72 init                                                                   
    2 root      20   0     0    0    0 S    0  0.0   0:00.00 kthreadd                                                              
    3 root      RT   0     0    0    0 S    0  0.0   0:00.67 migration/0                                                            
    4 root      20   0     0    0    0 S    0  0.0   0:12.29 ksoftirqd/0                                                           
    5 root      RT   0     0    0    0 S    0  0.0   0:00.59 migration/1

答案1

这台机器有 10:1 的几率具有超线程,因此每个核心可以并行运行两个线程。因此,最大 CPU 利用率实际上将是 800%。

相关内容