直接看系统是否真忙,top够快又自带,适合快速扫一眼整体压力;htop交互强、能点选、支持线程视图,排查细节更顺手——但需先安装。启动后先盯顶部五行:load average持续超cpu核心数×1.5说明整体过载,wa超20%提示磁盘i/o瓶颈,available接近0才表明内存真正吃紧;进程排序top按p、htop按f6选cpu%,java/go程序需按h开线程视图定位lwp,终止前须确认pid、用户及信号类型。

直接看系统是否真忙,别一上来就翻进程列表。top够快又自带,适合快速扫一眼整体压力;htop交互强、能点选、支持线程视图,排查细节更顺手——但得先装好。
第一眼盯什么:顶部五行决定要不要往下查
启动 top 或 htop 后,先停两秒看顶部:
- load average:三个数(1/5/15 分钟)持续高于 CPU 核心数 × 1.5,说明系统排队严重,不是单个程序的问题,而是整体资源吃紧
- %Cpu(s) 行里的 wa:I/O wait 超过 20%,大概率是磁盘慢或卡住,不是 CPU 算力不够
- 内存行看 available:不是 free;available 接近 0 才危险;buff/cache 高是正常缓存行为,不用清
怎么排序和定位高消耗进程
目标是快速揪出“真凶”,而不是看热闹:
- top 按 P(大写)按 %CPU 排序,注意它只对当前屏幕显示的进程排序;想看全量,得滚动或调大窗口
- htop 按 F6 → 选 cpu% → 回车,排序结果实时保持,支持上下滚动查看全部进程
- Java、Go 等多线程程序 CPU 占满时,htop 按 H 切线程视图,才能看到具体哪个 LWP(轻量级进程)在狂跑
- 进程列表里优先看 RES(实际物理内存占用),比 VIRT 更真实;TIME+ 突然飙升,可能是死循环或阻塞未释放
终止前必须确认的三件事
杀错进程可能中断服务,操作不能凭感觉:
- 确认 PID 和所属用户:非 root 用户无法 kill 其他用户的进程;top 会报 “Operation not permitted”,htop 则静默失败
- 信号选择有讲究:top 按 k 后手动输 PID 和信号号,默认是 15(SIGTERM);htop 按 F9 弹出菜单,可选 SIGTERM、SIGKILL、SIGSTOP,误操作成本更低
-
别跳过验证环节:比如用
ps -p [PID] -o pid,user,comm,%cpu,%mem,etime再核对一次进程名、运行时间和资源占比
安装和启动常见卡点
htop 不是所有系统都预装,装不上或启动乱码很常见:
-
Ubuntu/Debian:先
sudo apt update,再sudo apt install htop;否则可能提示 “Unable to locate package” -
CentOS/RHEL 7:需先装 EPEL:
sudo yum install epel-release && sudo yum install htop -
AlmaLinux/RHEL 8+:用
sudo dnf install htop;yum 会报错 - 启动后界面符号错乱?检查终端编码:
echo $LANG应为en_US.UTF-8或类似 UTF-8 值











