Linux htop进程监控工具

htop 详细介绍

htop 是基于 ncurses 开发的交互式、彩色终端系统进程监控工具,作为经典 top 命令的增强替代品,由 Hisham Muhammad 开发,开源项目,支持 Linux、FreeBSD、macOS。

特点

彩色进度条、支持鼠标、可上下左右滚动进程列表、进程树视图、内置快捷键杀进程/改优先级,不需要手动输入 PID。

运维场景

  1. 服务器CPU飙升:打开htop,默认按CPU排序,定位占用最高进程;F5看进程树,确认子进程。
  2. 内存泄漏:htop -s PERCENT_MEM,查看RES常驻内存持续上涨的程序。
  3. 僵尸进程排查:F5树视图,找标记Z状态的进程。
  4. 进程优先级调整:选中进程,F7/F8修改nice值。
  5. 批量清理进程:空格标记多个进程,F9批量发送信号。

注意:SIGKILL(9)强制杀进程会丢失数据,优先使用 SIGTERM(15)优雅终止。

安装

htop 不是系统自带,需要手动安装:

Debian / Ubuntu

ubuntu一般自带

sudo apt update && sudo apt install -y htop

CentOS7(需要epel源)

sudo yum install -y epel-release && sudo yum install -y htop

CentOS8+/Rocky/Fedora

sudo dnf install -y htop

macOS (brew)

brew install htop

启动

直接终端输入 htop;退出 q。

常用启动参数

htop -s PERCENT_MEM    # 启动默认按内存排序
htop -s PERCENT_CPU    # 启动默认按CPU排序
htop -u nginx          # 只查看nginx用户进程
htop -d 10             # 刷新间隔,单位0.1秒,这里=1秒刷新一次
htop -p 1234,5678      # 只监控指定PID

界面分区解释

界面分为三大部分:顶部资源仪表盘 + 进程列表 + 底部快捷键栏

1. 顶部资源仪表盘

  • CPU 进度条:每个核心单独一条彩色条
    • 绿色:用户态进程
    • 蓝色:低优先级(nice)进程
    • 红色:内核态占用
    • 橙色:等待IO
  • Mem:物理内存使用
  • Swp:交换分区使用
  • 右侧:Load average 系统1分钟、5分钟、15分钟负载;任务总数、线程数、运行进程数;系统运行时间。

2. 进程列表字段说明

字段 含义
PID 进程ID
USER 进程所属用户
PRI 内核调度优先级
NI Nice值:范围-20 ~ 19;数值越小优先级越高
VIRT 虚拟内存(进程申请的总内存,不是实际占用)
RES 常驻内存,进程实际占用物理内存
SHR 共享内存
S 进程状态: R运行,S睡眠,D不可中断睡眠(IO阻塞),Z僵尸进程,T暂停
CPU% CPU使用率(单核心百分比)
MEM% 占物理内存百分比
TIME+ 进程累计CPU时间
Command 启动进程完整命令

3. 底部快捷键栏(核心)

快捷键 别名 功能
F1 h 帮助文档
F2 S Setup设置:修改仪表盘、增加/删除显示列、配色方案
F3 / 搜索进程(按名字查找)
F4 \ 过滤器,只显示匹配关键词的进程
F5 t 切换进程树视图,展示父子进程关系,排查僵尸进程非常好用
F6 > 选择排序列:按CPU、内存、时间等排序
F7 - 减小nice值 → 提高进程优先级(需要root)
F8 + 增大nice值 → 降低进程优先级
F9 k 给选中进程发送信号,常用: SIGTERM(15)优雅退出;SIGKILL(9)强制杀死
F10 q 退出htop

额外常用快捷键:

  • 空格:标记/选中多个进程,可以批量杀进程
  • u:只看指定用户的进程
  • H:隐藏/显示用户线程
  • K:隐藏/显示内核线程
  • P:直接按CPU排序;M:直接按内存排序;T:按运行时间排序

htop vs top

top htop
系统自带,无需安装 需要单独安装
黑白界面,不支持鼠标 彩色,支持鼠标点击操作
只能上下滚动,不能横向看长命令 支持上下、左右滚动,完整查看长命令行
杀进程需要手动输入PID 选中进程,F9直接发信号
没有原生进程树 F5一键切换进程树
自定义项较少 F2可视化自定义界面、字段、配色