我正在使用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
没有告诉我总的用法.
我们通常看到每个内核 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)