Linux Command mpstat 实时系统监控工具

简介: Linux Command mpstat 实时系统监控工具

linux Command mpstat 实时系统监控工具

tags: 分析, 监控

文章目录

1. 简介

mpstat是 Multiprocessor Statistics的缩写,是实时系统监控工具。其报告与CPU的一些统计信息,这些信息存放在/proc/stat文件中。在多CPU系统里,其不但能查看所有CPU的平均状况信息,而且能够查看特定CPU的信息。

2. 语法

mpstat的语法如下

mpstat [-P {cpu|ALL}] [internal [count]]
1

其中,各参数含义如下:

参数 含义

-P {cpu l ALL}  表示监控哪个CPU, cpu在[0,cpu个数-1]中取值
internal  相邻的两次采样的间隔时间
count 采样的次数,count只能和delay一起使用

3. 参数

当没有参数时,mpstat则显示系统启动以后所有信息的平均值。有interval时,第一行的信息自系统启动以来的平均信息。从第二行开始,输出为前一个interval时间段的平均信息。

输出各参数含义:

参数  释义  从/proc/stat获得数据
CPU 处理器ID 
%usr  在internal时间段里,用户态的CPU时间(%),不包含 nice值为负进程  usr/total*100
%nice 在internal时间段里,nice值为负进程的CPU时间(%)  nice/total*100
%sys  在internal时间段里,核心时间(%) system/total*100
%iowait 在internal时间段里,硬盘IO等待时间(%) iowait/total*100
%irq  在internal时间段里,硬中断时间(%)  irq/total*100
%soft 在internal时间段里,软中断时间(%)  softirq/total*100
%steal  显示虚拟机管理器在服务另一个虚拟处理器时虚拟CPU处在非自愿等待下花费时间的百分比 steal/total*100
%guest  显示运行虚拟处理器时CPU花费时间的百分比 guest/total*100
%gnice    gnice/total*100
%idle 在internal时间段里,CPU除去等待磁盘IO操作外的因为任何原因而空闲的时间闲置时间(%)  idle/total*100

CPU总的工作时间:

total_cur = user + system + nice + idle + iowait + irq + softirq
total_pre = pre_user + pre_system + pre_nice + pre_idle + pre_iowait + pre_irq + pre_softirq
user = user_cur – user_pre
total = total_cur - total_pre

其中_cur 表示当前值,_pre表示interval时间前的值。上表中的所有值可取到两位小数点。

4. 示例

[root@master ~]# mpstat
Linux 3.10.0-957.1.3.el7.x86_64 (master)  2021年06月08日   _x86_64_  (2 CPU)
16时50分15秒  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
16时50分15秒  all    3.75    0.05    4.91    0.03    0.00    0.48    0.00    0.00    0.00   90.79
[root@master ~]# mpstat -P ALL 5 2
Linux 3.10.0-957.1.3.el7.x86_64 (master)  2021年06月08日   _x86_64_  (2 CPU)
16时50分47秒  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
16时50分52秒  all    2.80    0.00    2.59    0.00    0.00    0.21    0.00    0.00    0.00   94.40
16时50分52秒    0    3.10    0.00    2.69    0.00    0.00    0.41    0.00    0.00    0.00   93.80
16时50分52秒    1    2.49    0.00    2.49    0.00    0.00    0.00    0.00    0.00    0.00   95.01
16时50分52秒  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
16时50分57秒  all    3.42    0.00    5.49    0.00    0.00    0.41    0.00    0.00    0.00   90.67
16时50分57秒    0    3.53    0.00    6.02    0.00    0.00    0.21    0.00    0.00    0.00   90.25
16时50分57秒    1    3.33    0.00    4.99    0.00    0.00    0.42    0.00    0.00    0.00   91.27
平均时间:  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
平均时间:  all    3.11    0.00    4.04    0.00    0.00    0.31    0.00    0.00    0.00   92.53
平均时间:    0    3.31    0.00    4.35    0.00    0.00    0.31    0.00    0.00    0.00   92.03
平均时间:    1    2.91    0.00    3.74    0.00    0.00    0.21    0.00    0.00    0.00   93.14

表示每5秒产生一个报告,总共产生2个。

上图表示每5秒产生了2个关于处理器的统计数据报告,一共产生2个interval 的信息,然后再给出这2个interval的平均信息。默认时,输出是按照CPU 号排序。第一个行给出了从系统引导以来的所有活跃数据。接下来每行对应一个处理器的活跃状态。

5. vmstat和mpstat对比

1.vmstat和mpstat 命令的差别:mpstat 可以显示每个处理器的统计,而 vmstat 显示所有处理器的统计。因此,编写糟糕的应用程序(不使用多线程体系结构)可能会运行在一个多处理器机器上,而不使用所有处理器。从而导致一个 CPU 过载,而其他 CPU 却很空闲。通过 mpstat 可以轻松诊断这些类型的问题。


2.vmstat中所有关于CPU的总结都适合mpstat。当您看到较低的 %idle 数字时,您知道出现了 CPU 不足的问题。当您看到较高的 %iowait 数字时,您知道在当前负载下 I/O 子系统出现了某些问题。参考:

相关文章
|
13天前
|
安全 Linux Shell
四、Linux核心工具:Vim, 文件链接与SSH
要想在Linux世界里游刃有余,光会“走路”还不够,还得配上几样“高级装备”。首先是Vim编辑器,它像一把瑞士军刀,让你能在命令行里高效地修改文件。然后要懂“软硬链接”,软链接像个快捷方式,硬链接则是给文件起了个别名。最后,SSH是你的“传送门”,不仅能让你安全地远程登录服务器,还能用scp轻松传输文件,设置好密钥更能实现免-密登录,极大提升效率。
179 3
|
12天前
|
安全 Linux iOS开发
SonarQube Server 2025 Release 5 (macOS, Linux, Windows) - 代码质量、安全与静态分析工具
SonarQube Server 2025 Release 5 (macOS, Linux, Windows) - 代码质量、安全与静态分析工具
84 0
SonarQube Server 2025 Release 5 (macOS, Linux, Windows) - 代码质量、安全与静态分析工具
|
28天前
|
Unix Linux 程序员
Linux文本搜索工具grep命令使用指南
以上就是对Linux环境下强大工具 `grep` 的基础到进阶功能介绍。它不仅能够执行简单文字查询任务还能够处理复杂文字处理任务,并且支持强大而灵活地正则表达规范来增加查询精度与效率。无论您是程序员、数据分析师还是系统管理员,在日常工作中熟练运用该命令都将极大提升您处理和分析数据效率。
104 16
|
5月前
|
Linux 开发工具
7种比较Linux中文本文件的最佳工具
7种比较Linux中文本文件的最佳工具
7种比较Linux中文本文件的最佳工具
|
3月前
|
缓存 监控 Linux
Linux系统性能调优技巧和相关工具
Linux 作为一种应用应展和系统服务的优选操作系统,在处理性能和端到端点评估上持有出色表现。但是,在处理进程或系统处于低效状态时,性能调优就显得十分重要。本文将探讨一些 Linux 系统性能调优的常用技巧,并介绍相关工具
92 1
Linux系统性能调优技巧和相关工具
|
3月前
|
Linux 数据安全/隐私保护 iOS开发
推荐Linux环境下效能优良的双向文件同步工具
综合上述条件,对于Linux环境下的双向文件同步需求,Unison 和 Syncthing 是两个非常出色的选择。它们都有良好的社区支持和文档资源,适用于不同规模的环境,从个人使用到商业部署。Unison 特别适合那些需要手动干预同步过程、需要处理文件冲突解决的场景。而 Syncthing 更加现代化,适合需要自动、实时的数据同步与备份的环境。对于选择哪一个,这将取决于个人的使用场景和具体需求。
335 16
|
2月前
|
数据采集 编解码 运维
一文讲完说懂 WowKey -- WowKey 是一款 Linux 类设备的命令行(CLT)运维工具
WowKey 是一款面向 Linux 类设备的命令行运维工具,支持自动登录、批量执行及标准化维护,适用于企业、团队或个人管理多台设备,显著提升运维效率与质量。
|
5月前
|
Ubuntu 搜索推荐 Linux
详解Ubuntu的strings与grep命令:Linux开发的实用工具。
这就是Ubuntu中的strings和grep命令,透明且强大。我希望你喜欢这个神奇的世界,并能在你的Linux开发旅程上,通过它们找到你的方向。记住,你的电脑是你的舞台,在上面你可以做任何你想做的事,只要你敢于尝试。
297 32
|
6月前
|
数据采集 运维 安全
Linux设备命令行运维工具WowKey问答
WowKey 是一款用于 Linux 设备运维的工具,可通过命令行手动或自动执行指令剧本,实现批量、标准化操作,如健康检查、数据采集、配置更新等。它简单易用,只需编写 WIS 指令剧本和 APT 帐号密码表文件,学习成本极低。支持不同流派的 Linux 系统,如 RHEL、Debian、SUSE 等,只要使用通用 Shell 命令即可通吃Linux设备。