centos8平台使用mpstat监控cpu

一,mpstat的用途

mpstat是 Multiprocessor Statistics的缩写,是实时cpu监控工具。

在多CPU系统里,其不但能查看所有CPU的平均状况信息,而且能够查看特定CPU的信息

它的数据来自于 /proc/stat文件

说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest

         对应的源码可以访问这里获取: https://github.com/liuhongdi/

 说明:作者:刘宏缔 邮箱: 371125307@qq.com

二,mpstat所属的rpm包与安装 

1,查看所属的包

[root@blog ~]# whereis mpstat
mpstat: /usr/bin/mpstat /usr/share/man/man1/mpstat.1.gz

[root@blog ~]# rpm -qf /usr/bin/mpstat
sysstat-11.7.3-2.el8.x86_64

2,找不到mpstat命令时,可以用yum安装

[root@blog ~]# yum install sysstat

三,查看mpstat的版本和帮助

1,查看版本

[root@blog ~]# mpstat -V
sysstat version 11.7.3
(C) Sebastien Godard (sysstat <at> orange.fr)

2,查看帮助

[root@blog ~]# mpstat --help

四,常用的用法举例

1,查看所有cpu的运行情况

# -P 指定cpu的id,ALL表示所有cpu

[root@blog ~]# mpstat -P ALL
Linux 4.18.0-80.11.2.el8_0.x86_64 (blog)        04/08/2020      _x86_64_        (4 CPU)
03:43:05 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle 03:43:05 PM all 0.03 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 99.95 03:43:05 PM 0 0.05 0.00 0.03 0.00 0.00 0.00 0.00 0.00 0.00 99.92 03:43:05 PM 1 0.02 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 99.97 03:43:05 PM 2 0.04 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 99.94 03:43:05 PM 3 0.02 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 99.96 

2,查看指定cpu的运行情况

## -P 指定cpu的id,此处是1

[root@blog ~]# mpstat -P 1
Linux 4.18.0-80.11.2.el8_0.x86_64 (blog)        04/08/2020      _x86_64_        (4 CPU)

03:55:12 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
03:55:12 PM    1    0.02    0.00    0.01    0.00    0.00    0.00    0.00    0.00    0.00   99.97

3,指定输出的时间间隔和次数

#命令格式:mpstat [-P {|ALL}] [internal [count]]

#internal  时间间隔,此处值是3

#count     统计次数,此处值是5

# 显示所有cpu的统计信息,每隔3秒统计一次,共统计5次后退出

[root@blog ~]# mpstat -P ALL 3 5 

说明:

当没有参数时,mpstat则显示系统启动以后所有信息的平均值。

有interval时,第一行的信息自系统启动以来的平均信息。

从第二行开始,输出为前一个interval时间段的平均信息。

五,输出信息各字段的含义:

user(通常缩写为 us),代表用户态 CPU 时间。

                                  注意,它不包括下面的 nice 时间,但包括了 guest 时间。

nice(通常缩写为 ni),代表低优先级用户态 CPU 时间,也就是进程的 nice 值被调整为 1-19 之间时的 CPU 时间。

                                注意,nice 可取值范围是 -20 到 19,数值越大,优先级反而越低。

system(通常缩写为 sys),代表内核态 CPU 时间。

idle(通常缩写为 id),代表空闲时间。

                                  注意,它不包括等待 I/O 的时间(iowait)。

iowait(通常缩写为 wa),代表等待 I/O 的 CPU 时间。

irq(通常缩写为 hi),代表处理硬中断的 CPU 时间。

softirq(通常缩写为 si),代表处理软中断的 CPU 时间。

steal(通常缩写为 st),代表当系统运行在虚拟机中的时候,被其他虚拟机占用的 CPU 时间。

guest(通常缩写为 guest),代表通过虚拟化运行其他操作系统的时间,也就是运行虚拟机的 CPU 时间。

guest_nice(通常缩写为 gnice),代表以低优先级运行虚拟机的时间。

六,查看centos版本 

[root@blog ~]# cat /etc/redhat-release
CentOS Linux release 8.0.1905 (Core) 

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注