最快查看实时单核空闲率用top后按主键盘数字1,%Cpu0等行末id值即该核当前空闲率;误按小键盘1无响应,%Cpu(s)为聚合值不反映单核差异。

top 按 1 看实时空闲率分布最快
直接运行 top,按主键盘上方的数字 1(不是小键盘),顶部立刻显示 %Cpu0、%Cpu1… 每行末尾的 id 值就是该核当前空闲率。比如 %Cpu0 : 0.0 us, 0.3 sy, 0.0 ni, 99.7 id 表示 CPU0 当前 99.7% 空闲。
常见踩坑点:
- 误按小键盘
1:无响应,必须用主键盘数字行 - 看到
%Cpu(s)那行就停:那是所有核聚合值,掩盖单核差异 - 在
top -b -n 1中按1:不生效,-b 是批处理模式,不支持交互切换
mpstat -P ALL 输出精确的平均空闲率
要查某段时间内各核的平均空闲率(比如做监控或写报告),用 mpstat -P ALL 1 1。输出中每行对应一个逻辑 CPU,%idle 列就是该核在采样周期内的平均空闲占比。
关键注意:
- 漏掉
-P写成mpstat ALL:报错Unknown option 'A' - 写成小写
-p ALL:旧版 sysstat 可能兼容,但新版强制要求大写-P -
%idle长期低于 10% 不一定代表瓶颈——得结合%iowait看:如果某核%iowait > 20%,说明它卡在 I/O,实际计算资源没被占满
/proc/stat 脚本解析可得最准的瞬时空闲率
内核原始数据在 /proc/stat,每行 cpuN 后第 5 个字段是 idle 时间(单位 jiffies,通常 1 jiffy = 0.01s)。两次读取差值除以总时间差,才是真实空闲率。
快速验证各核 idle 差值:
grep '^cpu[0-9]' /proc/stat | head -5
输出类似:
cpu0 123456 123 45678 987654 0 123 456 0 0 0 cpu1 123400 110 45600 987700 0 110 440 0 0 0
其中 987654 和 987700 是两核的 idle 累计值;差值越大,该核越空闲。手动算一次比依赖工具更可控,尤其当你要嵌入告警逻辑或避开采样抖动时。
htop 默认就显示每核空闲率条形图
如果系统装了 htop,启动后顶部 CPU 栏就是彩色进度条,长度直接反映各核当前空闲程度——满条=0%空闲,空条=100%空闲。比 top 更直观,且支持鼠标滚动、按 F6 → P_CPU_PERCENT 排序进程。
安装命令因发行版而异:
- Ubuntu/Debian:
sudo apt install htop - RHEL/CentOS 8+:
sudo dnf install htop - CentOS 7:
sudo yum install epel-release && sudo yum install htop
别指望一个命令通吃所有场景:瞬时看 top 或 htop,统计用 mpstat,脚本定制才碰 /proc/stat。真正容易被忽略的是——空闲率高不代表负载均衡,得看各核 %idle 是否离散;某个核长期 %idle 接近 0 而其他核很高,才是调度或亲和性问题。


















