Linux MPStat命令 - 报告处理器相关统计数据

时间:2020-03-05 15:28:36  来源:igfitidea点击:

当CPU利用率很高时,我们可能会发现情况,但我们觉得我们不运行任何内容。
在Linux系统上,我们可以使用MPStat监控此活动。

MPSTAT用于监视系统上的CPU利用率。
如果系统有多个处理器,它将更有用。
第一处理器将作为CPU 0签名。
第二个将被签名CPU 1等。
从其手册页中,MPStat被描述为:

The mpstat command writes to standard output activities for each available processor, processor 0 being the first one. Global average activities among all processors are also reported. The mpstat command can be used both on SMP and UP machines, but in the latter, only global average activities will be printed. If no activity has been selected, then the default report is the CPU utilization report

如何运行mpstat

只需在控制台上键入mpstat以运行MPStat。

$mpstat
Linux 3.2.0-57-generic (USERNB01) 12/12/2013 _x86_64_ (2 CPU)
03:29:29 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
03:29:29 PM all 6.30 0.06 1.94 3.75 0.00 0.06 0.00 0.00 87.88

如果我们发现错误,例如:找不到命令或者类似的命令,我们可能无法在系统中安装MPStat。

如果我们使用的是CentOS,RedHat或者Fedora,请运行此命令以安装MPStat

# yum install sysstat

如果我们使用Debian,Ubuntu或者其衍生物,请运行此命令以安装MPStat

# apt-get install sysstat

这里是如何阅读上面的信息。

  • 03:29:29 PM:意味着MPSTAT运行的时间
  • 全部:意味着所有CPU
  • %USR:显示在用户级别执行时发生的CPU利用率的百分比(应用程序)
  • %尼斯:显示在用户级别以良好的优先级执行时发生的CPU利用率的百分比
  • %sys:显示在系统级别(内核)在执行时发生的CPU利用率的百分比
  • %iowait:显示CPU或者CPU空闲的时间百分比,在此期间系统具有出色的磁盘I/O请求
  • %IRQ:显示CPU或者CPU为服务硬件中断所花费的时间百分比
  • %软:显示CPU或者CPU到服务软件中断所花费的时间百分比
  • %窃取:显示虚拟CPU或者CPU的非自愿时间等待的时间百分比,而管理程序正在为另一个虚拟处理器提供服务
  • %Guest:显示CPU或者CPU运行虚拟处理器的时间百分比
  • %空闲:显示CPU或者CPU空闲的时间百分比,系统没有出色的磁盘I/O equest

1)每个处理器打印CPU利用率

如上所述,我们的系统有2个CPU。
如果需要,可以使用-p参数,然后使用CPU编号来查看特定的CPU利用率。

$mpstat -P 0
Linux 3.2.0-57-generic (USERNB01) 12/12/2013 _x86_64_ (2 CPU)
03:54:00 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
03:54:00 PM 0 3.82 0.01 1.16 3.88 0.00 0.06 0.00 0.00 91.06
$mpstat -P 1
Linux 3.2.0-57-generic (USERNB01) 12/12/2013 _x86_64_ (2 CPU)
03:53:58 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
03:53:58 PM 1 16.52 0.20 4.48 0.46 0.00 0.04 0.00 0.00 78.30

2)打印所有CPU利用率

我们还可以在单个页面中打印每个处理器的每个CPU利用率。
只需使用-p所有参数即可执行此操作

$mpstat -P ALL
Linux 3.2.0-57-generic (USERNB01) 12/12/2013 _x86_64_ (2 CPU)
04:07:36 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
04:07:36 PM all 6.02 0.04 1.72 2.99 0.00 0.05 0.00 0.00 89.17
04:07:36 PM 0 3.84 0.01 1.15 3.72 0.00 0.06 0.00 0.00 91.21
04:07:36 PM 1 13.55 0.15 3.66 0.46 0.00 0.03 0.00 0.00 82.15

3)使用间隔打印CPU利用率

我们可能希望看到CPU利用率移动。
为此,我们可以使用间隔。
这是一个例子。

$mpstat 3 4
Linux 3.2.0-57-generic (USERNB01) 12/12/2013 _x86_64_ (2 CPU)
04:27:11 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
04:27:14 PM all 0.67 0.00 0.34 0.00 0.00 0.00 0.00 0.00 98.99
04:27:17 PM all 1.17 0.00 0.33 1.33 0.00 0.00 0.00 0.00 97.17
04:27:20 PM all 0.84 0.00 0.17 0.00 0.00 0.00 0.00 0.00 98.99
04:27:23 PM all 1.00 0.00 0.17 1.51 0.00 0.00 0.00 0.00 97.32
Average: all 0.92 0.00 0.25 0.71 0.00 0.00 0.00 0.00 98.12

上面的命令是向我们展示4个关于CPU利用率的报告,间隔3秒

4)打印MPStat版本

最后,要打印MSTAT版本,请使用-v参数

$mpstat -V
sysstat version 10.0.3
(C) Sebastien Godard (sysstat orange.