mpstat 是Multiprocessor Statistics的缩写,是一种实时系统监控工具。mpstat命令会输出CPU的一些统计信息,这些信息存放在/proc/stat文件中。在多CPU的系统里,此命令不但能用来查看所有CPU的平均状况信息,而且还能够用来查看特定CPU的信息。
mpstat命令的最大特点是:可以查看多核心CPU中每个计算核心的统计数据,而类似命令vmstat只能查看系统整体的CPU情况。
mpstat [option] [delay [count]]
mpstat命令的参数选项及说明
-P 指定CPU编号,例如:
-P 0表示第一个CPU
-P 1表示第二个CPU
-P ALL表示所有CPU
显示CPU信息统计。
[root@cs6 ~]# mpstat
Linux 2.6.32-754.el6.x86_64 (cs6) 2019年05月05日 _x86_64_ (2 CPU)
16时38分37秒 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
16时38分37秒 all 0.17 0.00 0.18 0.03 0.00 0.00 0.00 0.00 99.62
[root@cs6 ~]# mpstat 5 6
Linux 2.6.32-754.el6.x86_64 (cs6) 2019年05月05日 _x86_64_ (2 CPU)
16时39分02秒 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
16时39分07秒 all 0.00 0.00 0.10 0.00 0.00 0.00 0.00 0.00 99.90
16时39分12秒 all 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
16时39分17秒 all 0.00 0.00 0.10 0.00 0.00 0.00 0.00 0.00 99.90
16时39分22秒 all 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
16时39分27秒 all 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
16时39分32秒 all 0.00 0.00 0.10 0.00 0.00 0.00 0.00 0.00 99.90
平均时间: all 0.00 0.00 0.05 0.00 0.00 0.00 0.00 0.00 99.95
以下是命令结果的详细说明。
第1列:
16时39分02秒,表示当前时间。
第2列:CPU,all表示所有CPU,0表示第一个CPU……
后面9列的含义分别如下。
%usr:用户进程消耗的CPU时间百分比。
%nice:改变过优先级的进程占用的CPU时间百分比。
%sys:系统(内核)进程消耗的CPU时间百分比。
%iowait:I0等待所占用的CPU时间百分比。
%irq:硬中断占用的CPU时间百分比。
%soft:软中断占用的CPU时间百分比。
%steal:虚拟机强制CPU等待的时间百分比。
%guest:虚拟机占用CPU时间的百分比。
%idle:CPU处在空闲状态的时间百分比。
显示指定CPU信息的统计。
[root@cs6 ~]# mpstat -P 0
Linux 2.6.32-754.el6.x86_64 (cs6) 2019年05月05日 _x86_64_ (2 CPU)
16时40分51秒 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
16时40分51秒 0 0.10 0.00 0.14 0.04 0.00 0.00 0.00 0.00 99.72