mpstat 命令 #
mpstat
命令用于报告多处理器系统的 CPU 使用情况。它可以显示每个可用处理器的统计信息,也可以显示所有处理器的全局统计信息。
语法 #
mpstat [选项] [间隔 [计数]]
常用选项 #
选项 | 描述 |
---|---|
-A |
等同于-u -I ALL -P ALL ,显示所有 CPU 的所有信息 |
-P {cpu|ALL} |
指定要监控的处理器编号,ALL 表示所有处理器 |
-u |
报告 CPU 使用率 |
-I {SUM|CPU|SCPU|ALL} |
报告中断统计信息 |
-n |
显示更精确的时间戳(包含毫秒) |
-V |
显示版本信息并退出 |
输出字段解释 #
mpstat
的输出包括以下字段:
- %usr: 用户级别(应用程序)执行时使用的 CPU 百分比
- %nice: 用户级别、nice 值为正的进程执行时使用的 CPU 百分比
- %sys: 系统级别(内核)执行时使用的 CPU 百分比
- %iowait: 系统等待 I/O 完成时 CPU 空闲的百分比
- %irq: 处理硬件中断时使用的 CPU 百分比
- %soft: 处理软件中断时使用的 CPU 百分比
- %steal: 虚拟环境中,被其他操作系统强制等待虚拟 CPU 的时间百分比
- %guest: 运行虚拟处理器时使用的 CPU 百分比
- %gnice: 运行 nice 值为正的 guest 虚拟机时使用的 CPU 百分比
- %idle: CPU 空闲时间百分比
常见用法 #
1. 显示所有处理器的统计信息 #
mpstat -P ALL
2. 每 2 秒显示一次所有处理器的统计信息,共 5 次 #
mpstat -P ALL 2 5
3. 显示特定处理器的统计信息 #
mpstat -P 0
4. 显示所有处理器的中断统计信息 #
mpstat -I ALL
5. 显示所有统计信息 #
mpstat -A
输出示例 #
Linux 5.4.0-42-generic (hostname) 07/20/2025 _x86_64_ (4 CPU)
10:30:45 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
10:30:45 all 5.20 0.00 3.40 0.10 0.00 0.30 0.00 0.00 0.00 91.00
10:30:45 0 5.10 0.00 3.50 0.10 0.00 0.40 0.00 0.00 0.00 90.90
10:30:45 1 5.30 0.00 3.30 0.10 0.00 0.20 0.00 0.00 0.00 91.10
10:30:45 2 5.20 0.00 3.40 0.10 0.00 0.30 0.00 0.00 0.00 91.00
10:30:45 3 5.20 0.00 3.40 0.10 0.00 0.30 0.00 0.00 0.00 91.00
相关命令 #
注意事项 #
mpstat
是 sysstat 包的一部分,可能需要单独安装:sudo apt install sysstat
或sudo yum install sysstat
- 首次运行时显示的是自系统启动以来的平均值
- 指定间隔和计数时,第一个报告是自系统启动以来的平均值,后续报告是每个间隔的统计信息