mpstat -p all 是查看所有 cpu 核心实时使用率的核心命令;需先安装 sysstat 工具包,启用 sysstat 服务后,可输出各核及整体的 %usr、%sys、%iowait、%idle 等指标,并支持定时采样与单核聚焦分析。

直接用 mpstat -P ALL 就能查看所有 CPU 核心的实时使用率,这是多核监控最核心的操作。
确认系统已安装 mpstat
mpstat 不是 Linux 默认自带的命令,它属于 sysstat 工具包。未安装时需先配置:
- Ubuntu/Debian 系统:sudo apt update && sudo apt install sysstat -y
- CentOS/RHEL/Fedora 系统:sudo yum install sysstat 或 sudo dnf install sysstat
安装后建议启用数据收集服务(部分发行版需手动开启):
sudo systemctl enable sysstat && sudo systemctl start sysstat
查看所有核心的当前使用率
运行以下命令,立即输出每个 CPU 核心及整体的统计:
mpstat -P ALL输出中会包含一行 all(全核平均值),以及编号为 0、1、2… 的各行,对应每个物理/逻辑核心。关键字段含义:
- %usr:用户态程序占用 CPU 时间百分比
- %sys:内核态(系统调用、中断处理等)占用百分比
- %iowait:CPU 空闲但等待磁盘 I/O 完成的时间占比(持续高于 5% 需关注 I/O 瓶颈)
- %idle:真正空闲时间,低于 20% 通常表示 CPU 负载较高
持续采样观察动态变化
加时间间隔和次数参数,可做短时趋势分析:
mpstat -P ALL 2 5表示:每 2 秒采集一次,共采集 5 次。输出结构为:
- 第一行仍是系统启动以来的平均值
- 后续每行代表前一个 2 秒时间段内的各核心平均使用率
这种模式适合排查突发性 CPU 占用高峰,比如某次请求触发了单核 100% 占用而其他核闲置——这往往提示进程未充分利用多核,或存在锁竞争。
聚焦特定核心快速诊断
若发现某核心长期高负载,可单独监控它来深入分析:
mpstat -P 3 1该命令只监控编号为 3 的 CPU(即第 4 个核心),每秒刷新一次。结合 pidstat -p ALL 1 可进一步定位是哪个进程在该核上密集运行。











