在 CentOS 里可以用 pidstat(推荐)或 mpstat + ps 的方式来查看进程级别的 CPU 使用情况。cpustat 本身不是 CentOS 默认自带的命令,它通常指 sysstat 包里的 pidstat(功能等价于你想查的“cpustat 查进程”)。
pidstat(最常用 ✅)yum install -y sysstat
pidstat
输出示例:
UID PID %usr %system %guest %wait %CPU CPU Command
0 1234 1.2 0.3 0.0 0.0 1.5 0 java
字段说明:
%usr:用户态 CPU%system:内核态 CPU%CPU:总 CPU 使用率Command:进程名pidstat 2
# 每 2 秒刷新一次
pidstat 2 5
# 每 2 秒一次,共 5 次
pidstat -p 1234
pidstat -t -p 1234
pidstat -ur 1
top(快速查看)top
P:按 CPU 排序1:显示每个 CPU 核心q:退出ps(一次性查看)ps -eo pid,ppid,cmd,%cpu,%mem --sort=-%cpu | head
只看前 10 个高 CPU 进程:
ps -eo pid,cmd,%cpu --sort=-%cpu | head -10
如果你指的是 cpustat(Go 写的工具):
wget https://github.com/uber-common/cpustat/releases/download/v1.0.0/cpustat
chmod +x cpustat
./cpustat
它会直接显示进程级 CPU 使用率,但对大多数 CentOS 场景来说不如 pidstat 常用。
| 需求 | 命令 |
|---|---|
| 查进程 CPU | pidstat ✅ |
| 实时监控 | pidstat 1 |
| 查线程 | pidstat -t -p PID |
| 快速看 | top |
| 一次性分析 | ps ... --sort=-%cpu |
如果你愿意,我可以帮你分析某个高 CPU 进程或输出结果解读。