1

我刚刚推出了一个新服务器,他的平均负载似乎非常高,但是我读过很多关于多处理器和平均负载的东西,我不知道我的服务器现在是否超载......

它显示的平均负载为:15,57, 15,64, 15,60

在我的 /proc/cpuinfo 中,我有八个此类条目:

processor   : 7
vendor_id   : GenuineIntel
cpu family  : 6
model       : 15
model name  : Intel(R) Xeon(R) CPU           X5355  @ 2.66GHz
stepping    : 11
microcode   : ***
cpu MHz     : 2000.000
cache size  : 4096 KB
physical id : 1
siblings    : 4
core id     : 3
cpu cores   : 4
apicid      : 7
initial apicid  : 7
fpu     : yes
fpu_exception   : yes
cpuid level : 10
wp      : yes
flags       : ***
bogomips    : 5320.06
clflush size    : 64
cache_alignment : 64
address sizes   : 38 bits physical, 48 bits virtual
power management:

这是否意味着我可以达到 32 的平均负载?(8 * 4)。

谢谢!

4

2 回答 2

3

这个特定的处理器有 4 个内核并且不是超线程的,因此您有 2 个物理 CPU,每个 CPU 有 4 个内核。

使用 2 x 4 核,您可以随时执行 8 个进程。

因此,一旦您的平均负载高于 8,您就在排队进程。

你的盒子是“超载的”,因为你有更多的进程试图使用 CPU,然后你可以处理。这是否可以由您决定 - 它可能仍在可接受的时间范围内处理请求。

看看mpstat -P ALL哪个会显示每个内核的 CPU 使用率。您应该有 8 个条目(以及所有平均值)。sar也是调查此类问题的好工具。

为了让您更好地了解如何阅读cpuinfo

  • physical Id是物理CPU芯片的id。从 0 开始。
  • cpu cores是此物理 CPU 中的内核数量。
  • core id是这个物理 CPU 的核心 ID。

希望这可以帮助

于 2013-08-01T11:16:43.493 回答
0

不,这意味着您的 8 个处理器中的每一个都因 1 个空闲进程而过载,因为您有 8 个处理器,而您的负载平均为 16 个。

于 2013-08-01T11:08:58.683 回答