跳转至

htop/btop 进程管理

htop 和 btop 是 Linux 下的交互式进程查看器,比自带的 top 命令好用一万倍。白话说就是"给你的服务器装一个漂亮的仪表盘,CPU、内存、进程一目了然"。

核心知识点

概念说明
htop经典的交互式进程查看器,彩色界面
btop更现代的进程查看器,界面更好看,功能更多
PID进程 ID,每个运行中的程序都有唯一的编号
CPU%进程占用的 CPU 百分比
MEM%进程占用的内存百分比
VIRT/RES/SHR虚拟内存/物理内存/共享内存
负载(Load Average)系统繁忙程度,1.0 表示 1 个 CPU 刚好满载

安装配置

htop 安装

# Ubuntu/Debian
sudo apt install htop  # 安装 htop

# CentOS/RHEL
sudo yum install htop  # 安装 htop(可能需要 EPEL 源)
sudo yum install epel-release && sudo yum install htop  # 先装 EPEL 再装 htop

# macOS
brew install htop  # Homebrew 安装

btop 安装

# Ubuntu 22.04+
sudo apt install btop  # 直接安装

# Ubuntu 20.04(需要添加 PPA)
sudo add-apt-repository ppa:bashtop-monitor/bashtop  # 添加源
sudo apt install btop  # 安装

# CentOS/RHEL(从源码安装)
sudo yum install -y gcc-c++ make  # 安装编译依赖
git clone https://github.com/aristocratos/btop.git  # 克隆源码
cd btop && make && sudo make install  # 编译安装

# macOS
brew install btop  # Homebrew 安装

# 使用 snap 安装(通用方法)
sudo snap install btop  # snap 包管理器安装

基本使用

htop 操作

# 启动 htop
htop  # 直接运行

# 启动并只显示指定用户的进程
htop -u username  # 只看某个用户的进程

# 启动并只显示指定进程
htop -p 1234,5678  # 只监控这些 PID 的进程

htop 界面说明:

上半部分:
  CPU 使用率条(每个核心一个)| 内存/交换分区使用率条
  任务数 | 负载均衡 | 运行时间

下半部分:
  PID    USER    PRI  NI  VIRT   RES   SHR  S  CPU%  MEM%  TIME+  Command
  进程ID  用户    优先级     虚拟内存  物理内存     状态  CPU  内存  运行时间  命令

htop 快捷键:

F1  帮助             # 查看所有快捷键
F2  设置             # 自定义显示内容和颜色
F3  搜索             # 按进程名搜索
F4  过滤             # 过滤显示的进程
F5  树形视图         # 按父子关系显示进程树
F6  排序             # 选择排序字段
F7  降低优先级       # nice 值 +1
F8  提高优先级       # nice 值 -1
F9  杀死进程         # 发送信号给进程
F10 退出             # 退出 htop

# 其他常用快捷键
Space    标记进程     # 可以同时标记多个进程
U        取消所有标记 # 取消标记
k        杀死进程     # 和 F9 一样
u        按用户过滤   # 只显示某个用户的进程
t        树形/列表切换 # 切换显示模式
H        隐藏线程     # 只显示进程不显示线程
M        按内存排序   # 内存占用从高到低
P        按 CPU 排序  # CPU 占用从高到低
T        按时间排序   # 运行时间从长到短

btop 操作

# 启动 btop
btop  # 直接运行

# 指定刷新率(毫秒)
btop --update 500  # 每 500 毫秒刷新一次

# 指定主题
btop --theme gruvbox  # 使用 gruvbox 主题

btop 界面说明:

btop 分为 4 个面板:
1. CPU 面板 - CPU 使用率图表 + 每核心使用率
2. 内存面板 - 内存和交换分区使用情况
3. 网络面板 - 网络流量实时图表
4. 进程面板 - 进程列表(类似 htop)

btop 快捷键:

Esc/q    退出
m        切换显示模式
f        过滤进程
/        搜索进程
↑↓       上下选择进程
Enter    展开/折叠进程信息
t        发送信号
k        杀死选中进程
r        按用户过滤
e        按树形/列表切换
P        按 CPU 排序
M        按内存排序
1-4      切换显示的面板

高级用法

htop 自定义配置

# htop 配置文件位置
~/.config/htop/htoprc  # 按 F2 设置后自动保存到这里

# 常用自定义:
# 1. F2 → Display options → 勾选 "Hide userland process threads"(隐藏线程)
# 2. F2 → Columns → 添加/删除/排列显示列
# 3. F2 → Meters → 自定义顶部仪表盘(拖拽式)

# htop 也支持命令行参数
htop --sort-key=PERCENT_MEM  # 启动时按内存排序
htop --tree  # 启动时用树形视图

btop 配置

# btop 配置文件
~/.config/btop/btop.conf  # 配置文件位置

# 常用配置项
# color_theme = "monokai"     # 主题
# update_ms = 1000            # 刷新间隔(毫秒)
# proc_sorting = "cpu lazy"   # 默认排序
# proc_tree = true            # 默认树形视图
# shown_boxes = "cpu mem net proc"  # 显示哪些面板

# 查看可用主题
ls /usr/share/btop/themes/  # 系统主题目录
ls ~/.config/btop/themes/   # 用户主题目录

实用技巧

# 用 htop 找出最耗 CPU 的进程
htop --sort-key=PERCENT_CPU  # 按 CPU 排序启动

# 用 htop 找出最耗内存的进程
htop --sort-key=PERCENT_MEM  # 按内存排序启动

# 用 htop 监控特定进程
htop -p $(pgrep -d, python)  # 监控所有 python 进程

# 配合 watch 定期截图
watch -n 5 "ps aux --sort=-%mem | head -20"  # 每 5 秒显示内存前 20

# 使用 htop 批量杀进程
# 1. 按 F4 过滤出目标进程
# 2. 按 Space 标记每个要杀的进程
# 3. 按 F9 发送 SIGKILL 杀掉所有标记的进程

top vs htop vs btop 对比

功能          | top     | htop     | btop
彩色界面      | ✗       | ✓        | ✓
鼠标支持      | ✗       | ✓        | ✓
树形视图      | ✗       | ✓        | ✓
进程搜索      | 有限    | ✓        | ✓
网络监控      | ✗       | ✗        | ✓
磁盘 IO 监控  | ✗       | ✗        | ✓(部分)
GPU 监控      | ✗       | ✗        | ✓
自带系统      | ✓       | ✗        | ✗

常见报错

问题原因解决
htop: command not found没安装sudo apt install htop
btop 界面乱码终端不支持 UTF-8设置终端编码为 UTF-8
btop 颜色不对终端不支持 True Color使用支持 True Color 的终端
无法杀死进程没有权限sudo htop 以 root 运行
CPU 显示 0%刷新间隔太长调短刷新间隔

速查表

# === 启动命令 ===
htop                    # 启动 htop
htop -u 用户名          # 只看某用户
htop -p PID1,PID2       # 只看指定进程
htop --tree             # 树形视图
btop                    # 启动 btop

# === htop 快捷键 ===
F3 / /    搜索进程
F4        过滤进程
F5        树形视图
F6        选择排序
F9 / k    杀死进程
P          CPU 排序
M         按内存排序
T         按运行时间排序
Space     标记进程
u         按用户过滤
H         隐藏/显示线程
q         退出

# === btop 快捷键 ===
/         搜索进程
f         过滤进程
e         树形视图
P          CPU 排序
M         按内存排序
k         杀死进程
Esc/q     退出

# === 其他进程管理命令 ===
ps aux | sort -k3 -rn | head  # 按 CPU 排序前 10
ps aux | sort -k4 -rn | head  # 按内存排序前 10
kill -9 PID                    # 强制杀死进程
kill -15 PID                   # 优雅关闭进程
killall 进程名                 # 按名称杀死所有实例