mpstat命令

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

相关命令 #

  • top - 显示进程活动和系统资源使用情况
  • vmstat - 报告虚拟内存统计信息
  • iostat - 报告 CPU 和输入/输出统计信息
  • sar - 收集、报告或保存系统活动信息

注意事项 #

  • mpstat是 sysstat 包的一部分,可能需要单独安装:sudo apt install sysstatsudo yum install sysstat
  • 首次运行时显示的是自系统启动以来的平均值
  • 指定间隔和计数时,第一个报告是自系统启动以来的平均值,后续报告是每个间隔的统计信息