在 CentOS(以及大多数 Linux 发行版)中,cpustat 通常是 sysstat 工具包中的一个命令,用于查看 CPU 使用情况统计。下面从 如何安装、字段含义、常见示例、如何解读 几个方面说明。
cpustat 用于显示 CPU 利用率统计信息,类似 iostat、mpstat,但更偏向 CPU 维度。
一般来自:
sysstat
yum install -y sysstat
cpustat
常见用法:
cpustat 1 # 每 1 秒刷新一次
cpustat 1 5 # 每 1 秒刷新一次,共 5 次
典型输出示例:
CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
all 12.3 0.0 3.2 1.5 0.0 0.1 0.0 0.0 82.9
0 10.1 0.0 2.8 2.0 0.0 0.2 0.0 0.0 84.9
1 14.5 0.0 3.6 1.0 0.0 0.0 0.0 0.0 80.9
| 字段 | 含义 |
|---|---|
| CPU | CPU 编号,all 表示平均值 |
| %usr | 用户态 CPU 使用率(应用程序) |
| %nice | 低优先级(nice)用户进程 |
| %sys | 内核态 CPU 使用率 |
| %iowait | 等待 I/O(磁盘)的 CPU 时间 |
| %irq | 硬件中断 |
| %soft | 软件中断 |
| %steal | 被虚拟化层“偷走”的 CPU(云服务器常见) |
| %guest | 运行虚拟机占用的 CPU |
| %idle | CPU 空闲百分比 |
✅ 示例(正常高负载):
%usr 70%
%sys 20%
%idle 10%
⚠️ 示例(I/O 问题):
%iowait 30%
%idle 40%
常见于:
cpustat 1
对比各 CPU 使用率,若:
top
htop
pidstat 1
cat /proc/interrupts
uptime
| 现象 | 解读 |
|---|---|
| %usr 高 | 应用程序消耗 CPU |
| %sys 高 | 内核 / 系统调用频繁 |
| %iowait 高 | 磁盘慢 / I/O 阻塞 |
| %steal 高 | 云主机资源不足 |
| idle 高但系统慢 | 可能 I/O、锁、网络问题 |
all 5.0 0.0 2.0 40.0 0.0 0.0 0.0 0.0 53.0
解读:
如果你愿意,可以把你实际的 cpustat 输出贴出来,我可以帮你 逐项分析并给出优化建议。