Linux监控工具-mpstat

最后更新:2019-10-30

现在的计算机一般都使用着多处理器或四核单处理器。在服务器端,更多的处理器或核心意味着更强的能力,但另一方面,应用程序也需要更高的能耗。你还可能遇到过这样的场景:当你的cpu利用率很高时你却感觉自己根本没有运行任何程序。以上种种情况,在Linux系统上,你可以使用 mpstat 来监控这样的活动。

mpstat 用于监控你的系统上cpu的利用率。如果你的系统有多个处理器,它会发挥更大的作用。 第一个处理器会被标记为CPU 0。第二个会被标记为CPU 2,以此类推。在操作手册中,如下描述mpstat:

mpstat命令把每个可用的处理器的状态写到标准输出,默认第一个处理器为processor 0。所有处理器的全局平均状态也会以报告形式给出。mpstat命令可以用于SMP和UP的机器上,但是在UP机器上,只有全局平均状态会被打印出来。如果没有选择具体行为,默认将报告CPU的利用率

语法

[root@ihorn-dev ~]# mpstat --help
Usage: mpstat [ options ] [ <interval> [ <count> ] ]
Options are:
[ -A ] [ -u ] [ -V ] [ -I { SUM | CPU | SCPU | ALL } ]
[ -P { <cpu> [,...] | ON | ALL } ]

参数说明

-P:指定CPU编号。

示例

[root@ihorn-dev ~]# mpstat
Linux 3.10.0-123.9.3.el7.x86_64 (ihorn-dev) 	12/23/2016 	_x86_64_	(4 CPU)

01:31:29 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
01:31:29 PM  all    7.16    0.00    3.48    0.15    0.00    0.89    0.00    0.00    0.00   88.31

输出项说明

01:31:29 PM : 指mpstat运行的时间
all : 指所有CPU
%usr : 显示在用户级别(例如应用程序)执行时CPU利用率的百分比
%nice :显示在拥有nice优先级的用户级别执行时CPU利用率的百分比
%sys : 现实在系统级别(例如内核)执行时CPU利用率的百分比
%iowait : 显示在系统有未完成的磁盘I/O请求期间CPU空闲时间的百分比
%irq : 显示CPU服务硬件中断所花费时间的百分比
%soft : 显示CPU服务软件中断所花费时间的百分比
%steal : 显示虚拟机管理器在服务另一个虚拟处理器时虚拟CPU处在非自愿等待下花费时间的百分比
%guest : 显示运行虚拟处理器时CPU花费时间的百分比
%idle : 显示CPU空闲和系统没有未完成的磁盘I/O请求情况下的时间百分比

打印单个处理器的CPU利用率

[root@ihorn-dev ~]# mpstat -P 1 1 5
Linux 3.10.0-123.9.3.el7.x86_64 (ihorn-dev) 	12/23/2016 	_x86_64_	(4 CPU)

01:34:16 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
01:34:17 PM    1    2.02    0.00    2.02    0.00    0.00    0.00    0.00    0.00    0.00   95.96
01:34:18 PM    1    3.06    0.00    1.02    0.00    0.00    0.00    0.00    0.00    0.00   95.92
01:34:19 PM    1    5.00    0.00    1.00    0.00    0.00    0.00    0.00    0.00    0.00   94.00
01:34:20 PM    1    4.08    0.00    1.02    0.00    0.00    0.00    0.00    0.00    0.00   94.90
01:34:21 PM    1    5.00    0.00    2.00    0.00    0.00    0.00    0.00    0.00    0.00   93.00
Average:       1    3.84    0.00    1.41    0.00    0.00    0.00    0.00    0.00    0.00   94.75

打印所有处理器的CPU利用率

[root@ihorn-dev ~]# mpstat -P ALL 1 3
Linux 3.10.0-123.9.3.el7.x86_64 (ihorn-dev) 	12/23/2016 	_x86_64_	(4 CPU)

01:35:04 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
01:35:05 PM  all    3.54    0.00    1.52    0.00    0.00    0.25    0.00    0.00    0.00   94.70
01:35:05 PM    0    4.04    0.00    1.01    0.00    0.00    1.01    0.00    0.00    0.00   93.94
01:35:05 PM    1    3.03    0.00    2.02    0.00    0.00    0.00    0.00    0.00    0.00   94.95
01:35:05 PM    2    3.03    0.00    1.01    0.00    0.00    1.01    0.00    0.00    0.00   94.95
01:35:05 PM    3    3.00    0.00    2.00    0.00    0.00    1.00    0.00    0.00    0.00   94.00

01:35:05 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
01:35:06 PM  all    4.80    0.00    1.52    0.25    0.00    0.00    0.00    0.00    0.00   93.43
01:35:06 PM    0    5.00    0.00    2.00    1.00    0.00    0.00    0.00    0.00    0.00   92.00
01:35:06 PM    1    3.96    0.00    0.99    0.99    0.00    0.99    0.00    0.00    0.00   93.07
01:35:06 PM    2    6.12    0.00    2.04    0.00    0.00    0.00    0.00    0.00    0.00   91.84
01:35:06 PM    3    5.05    0.00    1.01    0.00    0.00    0.00    0.00    0.00    0.00   93.94

01:35:06 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
01:35:07 PM  all    5.84    0.00    1.27    0.25    0.00    0.51    0.00    0.00    0.00   92.13
01:35:07 PM    0    5.15    0.00    1.03    0.00    0.00    0.00    0.00    0.00    0.00   93.81
01:35:07 PM    1    7.22    0.00    2.06    0.00    0.00    0.00    0.00    0.00    0.00   90.72
01:35:07 PM    2    5.05    0.00    1.01    1.01    0.00    0.00    0.00    0.00    0.00   92.93
01:35:07 PM    3    4.17    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   95.83

Average:     CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
Average:     all    4.72    0.00    1.43    0.17    0.00    0.25    0.00    0.00    0.00   93.42
Average:       0    4.73    0.00    1.35    0.34    0.00    0.34    0.00    0.00    0.00   93.24
Average:       1    4.71    0.00    1.68    0.34    0.00    0.34    0.00    0.00    0.00   92.93
Average:       2    4.73    0.00    1.35    0.34    0.00    0.34    0.00    0.00    0.00   93.24
Average:       3    4.07    0.00    1.02    0.00    0.00    0.34    0.00    0.00    0.00   94.58

参考资料

https://linux.cn/article-2424-1.html

Edgar

Edgar
一个略懂Java的小菜比