默认 top 只显示 cpu 平均使用率,易误判;按主键盘数字 1 键可切换至每核视图,显示各逻辑核心实时负载,配置自动保存至 ~/.toprc,退出需 q 后重进。

直接运行 top 后,默认只显示所有 CPU 核心的平均使用率,比如 4 核机器上单个进程占满 1 个核,%Cpu(s) 行可能只显示约 25%,容易误判负载偏低。要看到每个逻辑核心(含超线程)的实时使用率,必须手动切换到“每核模式”。
按主键盘数字 1 键激活每核视图
启动 top 后,立即按下键盘**主区域上方的数字键 1**(不是小键盘区的 1),界面会立刻刷新,在第三行下方出现类似以下多行:
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
%Cpu0 : 92.3 us, 4.1 sy, 0.0 wa, 3.6 id%Cpu1 : 12.7 us, 1.2 sy, 0.0 wa, 86.1 id%Cpu2 : 5.0 us, 0.5 sy, 0.0 wa, 94.5 id%Cpu3 : 88.9 us, 6.2 sy, 0.0 wa, 4.9 id
每行对应一个逻辑 CPU,us/sy/id/wa 等字段含义与整体行一致,但反映的是该核的真实负载。
注意常见操作误区
-
top -1或top --per-cpu是非法参数,会报错 - 误按小键盘 1 通常无反应,必须用主键盘上方数字区
- 按 1 后配置会自动保存到
~/.toprc,下次启动默认启用每核模式 - 没有快捷键退出每核模式,如需恢复默认视图,只能按
q退出后重进
结合其他操作快速定位瓶颈
- 若发现仅
%Cpu0长期 >90%,其余核 idle 很高,说明是单线程程序或被taskset绑定到某核,不是整体 CPU 不足 - 此时再按
P排序,仍是按进程在所有核上的总 %CPU 值排序,不是单核峰值 - 若
wa(I/O wait)持续高于 5%,说明磁盘或网络等待拖慢响应,实际 CPU 并未打满
替代方案:适合脚本或自动化场景
交互式按 1 适合人工排查,但写监控脚本时建议用原生支持多核的命令:
-
mpstat -P ALL 1 1:每秒输出所有核的完整统计,无需交互,可直接管道处理 -
top -b -n 1 | head -25:若已保存每核配置,能抓取含%Cpu0等行的快照 -
cat /proc/stat:读取原始数据自行计算,适合定制化指标










