htop启动前必须安装,否则报command not found;Ubuntu/Debian用sudo apt install htop,CentOS/RHEL 7需先启用EPEL源,AlmaLinux/RHEL 8+用sudo dnf install htop,Arch用sudo pacman -S htop,装完直接运行即可。

htop 启动前必须装好,否则直接报错
运行 htop 却提示 command not found 是最常见卡点。它不是系统自带命令,必须手动安装,且不同发行版命令不同:
- Ubuntu/Debian:
sudo apt update && sudo apt install htop(缺apt update可能找不到包) - CentOS/RHEL 7:
sudo yum install epel-release && sudo yum install htop(没装 EPEL 源会失败) - AlmaLinux/RHEL 8+:
sudo dnf install htop(用yum会报错) - Arch Linux:
sudo pacman -S htop
装完后终端直接输 htop 就能启动。如果界面乱码,先检查 echo $LANG 是否含 UTF-8,否则颜色和符号显示异常。
顶部状态栏怎么看才不误判
别只盯着 CPU 百分比数字——颜色和分区含义更重要:
- CPU 条:绿色是用户态进程(比如你的 Python 或 Java 应用),红色是内核态(驱动、中断等),黄色高亮持续超过 20% 说明磁盘 I/O 卡住
- 内存条:绿色已用,蓝色是 buffers(临时块缓存),黄色是 cache(文件缓存);真正该担心的是右上角的
Mem行里available值接近 0,不是free - Load average 三个数(1/5/15 分钟):若长期高于 CPU 核心数 × 1.5,说明整体排队严重,不是单个进程问题
怎么快速定位吃资源的进程
默认排序按 CPU%,但实际排查常需切换视角:
- 按内存查:按
F6→ 方向键选MEM%→ 回车;RES列比VIRT更反映真实物理内存压力 - 看完整命令行:默认截断,按
F2→ 进入Display options→ 勾选Longer description,否则可能看不到java -Xmx4g这类关键参数 - 查特定用户:按
u键输入用户名(如www-data),适合排查 Web 服务相关进程 - 开线程视图:按
H,Java/Go 程序单进程占满 CPU 时,必须打开才能看到具体哪个线程(LWP)在跑飞
杀进程前务必确认 PID 和权限
F9 弹出信号菜单看着友好,但误操作后果一样严重:
- 光标选中目标进程后按
F9,优先选SIGTERM(默认),等几秒没退出再考虑SIGKILL;直接强杀可能丢数据或触发异常释放 - 非 root 用户只能 kill 自己的进程,
htop会静默失败(top会报Operation not permitted) - 注意
PID和TID区别:线程视图下选中的是线程 ID,F9发信号给该线程;平铺视图下才是进程 ID
真正容易被忽略的是:htop 的排序和过滤结果是实时的,但 TIME+ 列累计值不会重置——突然飙升的进程,结合 RES 和 S(状态)列一起看,才能判断是死循环还是正常长任务。


















