总CPU使用率 - 多核系统

5 linux bash cpu-usage

我正在使用xen,并且以xen top百分比形式获得总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
Run Code Online (Sandbox Code Playgroud)

从上面我可以看到,我看到CPU使用率是299%,但我如何从VM获得总CPU使用率? Top没有告诉我总的用法.

Jay*_*got 5

我们通常看到每个内核 100% 的 CPU。我猜至少有 3 个内核/CPU。

试试这个来计算内核数:

grep processor /proc/cpuinfo | wc -l
Run Code Online (Sandbox Code Playgroud)

299% 是总 CPU 使用率。

sar并且mpstat通常用于显示系统的 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
Run Code Online (Sandbox Code Playgroud)

如果您同意 CPU 利用率为 (100 - %IDLE):

$ mpstat 1 1 | awk '/^Average/ {print 100-$NF,"%"}'
0.52 %
Run Code Online (Sandbox Code Playgroud)