在 CentOS 上,cpustat 本身不能直接按进程查看 CPU 使用,它主要用于统计 CPU 整体或每个 CPU 的使用率。
如果你想查看进程的 CPU 占用,通常需要配合其他工具。下面给你几种常见、正确的做法。
cpustat 一般来自 sysstat 包,用于查看 CPU 的整体使用情况,例如:
cpustat
输出示例:
CPU usr sys nic idle iowait irq softirq steal
all 12 5 0 80 2 0 1 0
✅ 它不显示进程级别信息
top(最常用)top
示例:
PID USER %CPU %MEM COMMAND
1234 root 25.0 2.1 java
htop(更直观,推荐)如果没安装:
yum install -y htop
使用:
htop
ps 查看进程 CPU查看当前 CPU 占用最高的进程:
ps -eo pid,user,%cpu,%mem,cmd --sort=-%cpu | head
只看某个进程:
ps -p PID -o pid,user,%cpu,%mem,cmd
pidstat(最接近 cpustat 的进程级工具)pidstat 也是 sysstat 包里的,非常适合你这个需求。
安装:
yum install -y sysstat
查看所有进程的 CPU:
pidstat
只看某个进程:
pidstat -p PID
每 2 秒刷新一次:
pidstat 2
如果你已经习惯用 cpustat,可以这样配合:
cpustat # 看 CPU 总体
pidstat # 看进程 CPU
| 需求 | 推荐命令 |
|---|---|
| 查看 CPU 整体 | cpustat |
| 查看进程 CPU | top / htop |
| 查看指定进程 | pidstat -p PID |
| 脚本/统计 | ps + sort |
如果你愿意,可以告诉我:
我可以给你更精确的命令。