在 Debian(及其他 Linux 系统)中,cpustat 本身没有内置排序选项,它主要按 CPU 编号(CPU0、CPU1…) 输出。如果你说的是 排序 CPU 使用率,常见做法有两种:
cpustat 来自 sysstat 包,输出是固定的,无法直接排序。
cpustat
输出通常类似:
CPU %usr %nice %sys %iowait %steal %irq %soft %guest %gnice %idle
0 5.12 0.00 1.23 0.34 0.00 0.00 0.12 0.00 0.00 93.19
1 8.21 0.00 2.11 0.45 0.00 0.00 0.23 0.00 0.00 89.00
✅ 结论:cpustat 本身不能排序,只能后处理。
mpstat + sort(最常用)mpstat -P ALL 1 1 | sort -k3 -rn
说明:
-P ALL:所有 CPU1 1:采样 1 次,间隔 1 秒sort -k3 -rn:按第 3 列(%usr)降序排序你也可以按 总使用率(100 - %idle)排序:
mpstat -P ALL 1 1 | awk 'NR>3 {print $1, 100-$13}' | sort -k2 -rn
top(最简单)top
在 top 中:
htop(推荐)sudo apt install htop
htop
psps -eo pid,comm,%cpu --sort=-%cpu | head
toptop -o %CPU
| 需求 | 推荐方式 |
|---|---|
| 排序 CPU 核心使用率 | mpstat + sort |
| 实时排序 | top / htop |
| 排序进程 CPU | ps / top |
| 直接 cpustat 排序 | ❌ 不支持 |
如果你能贴出你现在的 cpustat 输出,我可以帮你写一个精确排序命令。