总CPU使用率 - 多核系统

5

我正在使用Xen,使用xentop命令可以获取CPU的总使用率(以百分比表示):

      NAME  STATE   CPU(sec) CPU(%)     MEM(k) MEM(%)  MAXMEM(k) MAXMEM(%) VCPUS NETS NETTX(k) NETRX(k) VBDS   VBD_OO   VBD_RD   VBD_WR  VBD_RSECT  VBD_WSECT SSID

      VM1 -----r      25724  299.4    3025244   12.0   20975616      83.4    12    1 14970253 27308358    1        3   146585    92257   10835706    9976308    0

从上面可以看到CPU使用率为299%,但是我如何从VM中获取总CPU使用率? Top无法显示总使用率。

1个回答

5

我们通常看到每个核心的CPU使用率为100%。我猜至少有3个核心/CPU。

尝试使用以下方法来计算核心数:

grep processor /proc/cpuinfo | wc -l

299%是CPU总使用率。

sarmpstat通常用于显示系统的CPU使用率。检查是否安装了systat包,并使用以下命令显示总CPU使用率:

$ mpstat 1 1
Linux 2.6.32-5-amd64 (debian)   05/01/2016      _x86_64_        (8 CPU)

07:48:51 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle
07:48:52 PM  all    0.12    0.00    0.50    0.00    0.00    0.00    0.00    0.00   99.38
Average:     all    0.12    0.00    0.50    0.00    0.00    0.00    0.00    0.00   99.38

如果你认同CPU利用率是(100 - %IDLE):

$ mpstat 1 1 | awk '/^Average/ {print 100-$NF,"%"}'
0.52 %

我想查看所有核心的总CPU使用率。 - user3580316
@user3580316 我认为299%是总CPU使用率(我不了解Xen)。通常使用“top”和“sar”。 - Jay jargot
谢谢。但它没有显示总的CPU使用情况摘要,只显示每个CPU核心的使用情况。 - user3580316
@Jayjargot 很抱歉重新打开这个问题,使用标准的100-idle总是正确的吗?(在我的情况下,我有一个在一台巨大服务器上编写的sh脚本系统监视器。2xE5-2667 v4 8core)? - DanieleO

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接