说明

  mpstat是Multiprocessor Statistics的缩写,是一种实时系统监控工具。mpstat命令会输出CPU的一些统计信息,这些信息存放在/proc/stat文件中。在多CPU的系统里,此命令不但能查看CPU的平均状态信息,还能查看特定CPU的信息。
  mpstat命令的最大特点是:可以查看多核CPU中每个计算核心的统计数据,而命令vmstat只能查看系统整理的CPU的数据。
  如果系统系统中不存在mpstat命令,就需要安装sysstat,sysstat包中包括iostat,mpstat,sar,sa相关命令

[root@localhost ~]# yum install mpstat
格式

  mpstat [option] [delay时间间隔 [count次数]]

参数说明
  • -P:指定CPU编号,例如:-P 0表示第一个CPU;-P 1表示第二个CPU;-P ALL表示所有CPU
示例

1、显示CPU的统计信息

[root@localhost ~]# mpstat #没有时间间隔和次数,那么显示一次就退出了
Linux 3.10.0-123.9.3.el7.x86_64 (localhost.localdomain)     06/24/2018     _x86_64_    (1 CPU)

08:40:27 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
08:40:27 PM  all    0.26    0.00    0.29    0.09    0.00    0.14    0.00    0.00    0.00   99.22

[root@localhost ~]# mpstat 3 2 #时间间隔3秒,统计两次
Linux 3.10.0-123.9.3.el7.x86_64 (localhost.localdomain)     06/24/2018     _x86_64_    (1 CPU)

08:44:36 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
08:44:39 PM  all    0.34    0.00    0.34    0.00    0.00    0.34    0.00    0.00    0.00   98.99
08:44:42 PM  all    0.00    0.00    0.67    0.00    0.00    0.00    0.00    0.00    0.00   99.33
Average:     all    0.17    0.00    0.51    0.00    0.00    0.17    0.00    0.00    0.00   99.16

命令详细结果说明:
Linux 3.10.0-123.9.3.el7.x8664 (localhost.localdomain):Linux内核版本和主机名
06/24/2018:当前系统时间
_x86_64:当前系统是多少位的
(1 CPU):当前系统只有一个CPU

08:40:27 PM:表示当前时间
CPU:all表示所有CPU,0表示第1个CPU,依次
%usr:用户进程消耗的CPU的时间百分比
%nice:改变过优先级的进程占用的CPU时间百分比
%sys:系统进程消耗的CPU时间百分比
%iowait:IO等待占用的CPU的时间百分比
%irq:硬中断占用的CPU时间百分比
%soft:软中断占用的CPU时间百分比
%stea:虚拟机强制CPU等待时间百分比
%guest:虚拟机占用CPU时间的百分比
%gnice:
%idle:CPU处于空闲状态的时间百分比

2、指定查询某个CPU的统计信息

[root@localhost ~]# mpstat -P 0 #查询第1个CPU的统计信息
Linux 3.10.0-123.9.3.el7.x86_64 (localhost.localdomain)     06/24/2018     _x86_64_    (1 CPU)

08:52:18 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
08:52:18 PM    0    0.26    0.00    0.30    0.09    0.00    0.14    0.00    0.00    0.00   99.22
[root@localhost ~]# 
[root@localhost ~]# 
[root@localhost ~]# mpstat -P 1 #查询第二个CPU的信息,系统只有一个,所以会提示没有
Not that many processors!