在 CentOS 上查看 CPU 负载,常用的是 mpstat / sar / top / htop 这几个工具,你说的 cpustat 一般是指 sysstat 包里的 mpstat,或者第三方工具。下面按常见情况说明。
mpstat、sar 都来自 sysstat:
rpm -qa | grep sysstat
如果没有,安装:
yum install -y sysstat
# CentOS 8 / Rocky / Alma
dnf install -y sysstat
mpstat 查看 CPU 负载(最常用)mpstat -P ALL 1
含义:
-P ALL:显示所有 CPU1:每 1 秒刷新一次示例输出:
CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
all 12.3 0.0 5.1 1.2 0.0 0.2 0.0 0.0 81.2
字段说明(重点):
uptime
load average: 1.25, 1.10, 0.95
含义:
sar 查看历史 CPU 负载sar -u 1 5
每 1 秒一次,共 5 次
sar -u
cpustat 是 Go 写的那个工具这是 第三方工具,不是 CentOS 自带:
cpustat
安装方式(示例):
go install github.com/uber-common/cpustat@latest
⚠️ 一般服务器 不推荐,生产环境用 mpstat 更稳妥。
✅ 推荐组合:
top
mpstat -P ALL 1
uptime
判断标准:
%idle < 10% → CPU 很忙load average > CPU核数 → 过载%iowait > 20% → 磁盘 IO 问题nproc
lscpu
| 需求 | 命令 |
|---|---|
| 实时 CPU 使用率 | mpstat -P ALL 1 |
| 平均负载 | uptime |
| 历史 CPU | sar -u |
| 交互式查看 | top / htop |
如果你有 具体场景(比如:CPU 100%、数据库慢、docker 容器),可以贴出来,我可以帮你精准分析。