Linux高性能服务器诊断工具(01) mpstat命令 - 报告处理器相关统计信息

简介

一般今天的计算机都支持多个处理器。即使笔记本电脑通常也是1个物理处理器,内置2个内核;笔者使用的HP服务器,已经可以支持2个物理处理器,每个处理器上可以达到14个内核(Xeon E5-2660v4 (2.0GHz/14-core))。在服务器端,更多的处理器或内核意味着更多的计算能力。但另一方面,也更耗电。你可能会发现一个情况,当你的CPU利用率很高,但你觉得你没有运行什么应用。在Linux系统上,您可以使用mpstat来监视这个活动。

mpstat是什么

mpstat用于监视系统上的CPU利用率。如果你的系统有多个处理器,那将会更有用。第一个处理器将被标记为CPU 0,第二个将被标记为CPU 1等等。从手册页中,mpstat被描述为:
mpstat命令每个可用处理器活动写入标准输出,处理器0是第一个。所有处理器之间的全局平均活动也被报告。 mpstat命令可以在SMP和UP机器上使用,但是在后者中只能打印全局的平均活动。如果没有选择任何活动,则默认报告是CPU利用率报告。

mpstat的安装

在Ubuntu 16.04版本上,可以通过下列的命令来安装mpstat:

sudo apt-get install sysstat

如何运行mpstat

只需在控制台上输入mpstat来运行mpstat。在笔者的笔记本上输出为:

hadoop@bob-thinkpad:~$ mpstat
Linux 4.10.0-42-generic (bob-thinkpad)  2017年12月14日  _x86_64_        (4 CPU)

18时47分48秒  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
18时47分48秒  all    1.10    0.01    0.57    0.44    0.00    0.01    0.00    0.00    0.00   97.87
以下是如何阅读上述信息:
18时47分48秒:表示mpstat运行的时间
all:表示所有的CPU
%usr:显示在用户级别执行时发生的CPU利用率百分比(应用程序)
%nice:显示在用户级别执行时出现的CPU利用率百分比,具有nice优先级
%sys:显示在系统级别执行时发生的CPU利用率百分比(内核)
%iowait:显示CPU或CPU处于空闲状态的时间百分比,在此期间系统有一个显著的磁盘I / O请求
%irq:显示CPU或CPU花费在服务硬件中断上的时间百分比
%soft:显示CPU或CPU花费在服务软件中断上的时间百分比
%steal:显示当虚拟机管理程序正在维护另一个虚拟处理器时,由虚拟CPU或CPU自愿等待的时间百分比
%guest:显示CPU或CPU运行虚拟处理器的时间百分比
%idle:显示CPU或CPU闲置的时间百分比,系统没有显著的磁盘I / O请求

显示每个处理器的CPU利用率

从上面的显示信息中,你可以看到我使用的系统有4个CPU。你可以使用-P参数,跟CPU编号来显示指定CPU的利用率:

Linux 4.10.0-42-generic (bob-thinkpad)  2017年12月16日  _x86_64_        (4 CPU)

19时57分26秒  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
19时57分26秒    0    0.70    0.00    0.35    0.52    0.00    0.00    0.00    0.00    0.00   98.43

显示所有CPU利用率

使用-P ALL参数可以显示所有CPU的利用率。

hadoop@bob-thinkpad:~$ mpstat -P ALL
Linux 4.10.0-42-generic (bob-thinkpad)  2017年12月16日  _x86_64_        (4 CPU)

20时02分02秒  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
20时02分02秒  all    0.54    0.00    0.32    0.58    0.00    0.01    0.00    0.00    0.00   98.54
20时02分02秒    0    0.70    0.00    0.35    0.51    0.00    0.00    0.00    0.00    0.00   98.44
20时02分02秒    1    0.45    0.01    0.21    0.87    0.00    0.04    0.00    0.00    0.00   98.42
20时02分02秒    2    0.64    0.00    0.40    0.52    0.00    0.00    0.00    0.00    0.00   98.44
20时02分02秒    3    0.38    0.00    0.32    0.44    0.00    0.00    0.00    0.00    0.00   98.86

使用间隔打印CPU利用率

您可能想要查看CPU利用率的变化。要做到这一点,你可以使用间隔选项。下面的例子是设置间隔周期为3秒,采集2次的运行结果:

hadoop@bob-thinkpad:~$ mpstat -P ALL 3 2
Linux 4.10.0-42-generic (bob-thinkpad)  2017年12月16日  _x86_64_        (4 CPU)

20时13分54秒  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
20时13分57秒  all    0.75    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   99.25
20时13分57秒    0    0.34    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   99.66
20时13分57秒    1    0.67    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   99.33
20时13分57秒    2    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
20时13分57秒    3    1.98    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   98.02

20时13分57秒  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
20时14分00秒  all    0.83    0.00    0.08    0.00    0.00    0.00    0.00    0.00    0.00   99.08
20时14分00秒    0    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
20时14分00秒    1    0.33    0.00    0.33    0.33    0.00    0.00    0.00    0.00    0.00   99.00
20时14分00秒    2    0.34    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   99.66
20时14分00秒    3    2.30    0.00    0.33    0.00    0.00    0.00    0.00    0.00    0.00   97.38

Average:     CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
Average:     all    0.79    0.00    0.04    0.00    0.00    0.00    0.00    0.00    0.00   99.17
Average:       0    0.17    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   99.83
Average:       1    0.50    0.00    0.17    0.17    0.00    0.00    0.00    0.00    0.00   99.17
Average:       2    0.17    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   99.83
Average:       3    2.14    0.00    0.16    0.00    0.00    0.00    0.00    0.00    0.00   97.70

你可能感兴趣的:(Linux应用)