1. 什么是 htop?为什么用它?

htop 是一个实时的、交互式的 Linux 进程监视工具。相比于老牌的 top 命令,htop 提供了压倒性的优势:

 

2. 安装

 

htop 在大多数发行版的官方仓库中都有提供,但通常不会预装。

Bash

安装完成后,直接在终端输入 htop 即可启动。

 

3. 理解 htop 界面

 

htop 的界面主要分为三个区域:

 

区域 1:顶部仪表盘 (Header)

 

这是系统的“仪表盘”,显示核心指标:

 

区域 2:进程列表 (Process List)

 

这是可滚动的主窗口,显示所有进程。

 

 

这是 htop 的“菜单栏”,显示了 F1 到 F10 键的功能。


 

4. 核心交互操作

 

htop 的所有操作都是即时的。

 

4.1 导航和排序

 

 

4.2 管理进程 (最常用)

 

  1. 杀死进程 (Kill)

    • 使用 (↑ ↓) 键选中你想要杀死的进程。
    • 按下 F9 (或 k 键)。
    • 左侧会弹出一个信号 (Signal) 列表。
    • 15 SIGTERM (默认): 礼貌地通知进程自行关闭(推荐首选)。
    • 9 SIGKILL: 强制杀死进程(用于 SIGTERM 无法杀死的僵尸进程)。
    • 选择信号后按回车,进程被杀死。
  2. 调整进程优先级 (Nice)

    • 选中进程。
    • F7 (或 [ 键): 降低 Nice 值(提高优先级)。
    • F8 (或 ] 键): 提高 Nice 值(降低优先级,"be nice")。
    • (注:只有 root 用户才能提高进程优先级)

 

4.3 搜索、过滤和树状视图

 

  1. 树状视图 (Tree View)

    • 按下 F5 (或 t 键)。
    • htop 会以树状结构显示所有进程。这对于查看进程间的父子关系(例如哪个服务启动了哪些工作进程)极其有用。
  2. 搜索 (Search)

    • 按下 F3 (或 / 键)。
    • 在底部输入进程名(如 nginx),htop高亮并跳转到匹配的进程。
  3. 过滤 (Filter)

    • 按下 F4 (或 \ 键)。
    • 在底部输入一个字符串(如 nginx)。
    • htop只显示命令中包含 nginx 的进程,其他全部隐藏。
    • (再次按 F4 并清空内容,即可取消过滤)
  4. 按用户过滤

    • 按下 u 键。
    • 从左侧列表中选择一个用户(如 www-data),htop 会只显示该用户的进程。

 

4.4 高级查看

 


 

5. 自定义配置 (F2 Setup)

 

htop 最强大的地方在于它的可配置性。按下 F2 (或 S 键) 进入设置菜单。

 

5.1 调整顶部仪表盘 (Meters)

 

  1. Setup 菜单中,选择 Meters
  2. 你会看到左右两列(Left/Right columns)。
  3. 添加仪表盘: 在 "Available Meters" 中选择一个(例如 ClockHostname),按 F5 将其添加到左侧或右侧。
  4. 调整样式: 选中已添加的仪表盘,按 Enter 可以在不同样式(如 Bar, Text, LED)间切换。
  5. 删除/移动: 使用 F7/F8 移动位置,F9 删除。

 

5.2 调整进程列表列 (Columns)

 

  1. Setup 菜单中,选择 Columns
  2. 添加列: 在 "Available Columns" 中选择你想添加的(例如 IO_RATES 用于查看磁盘 I/O),按 F5 将其添加到 "Active Columns"。
  3. 删除列: 在 "Active Columns" 中选中,按 F9 删除。
  4. 调整顺序: 在 "Active Columns" 中选中,按 F7/F8 上下移动。

 

5.3 保存配置

 

Setup 菜单中做完所有修改后,必须按 F10 (Save) 来保存设置。

配置会保存在 ~/.config/htop/htoprc 文件中。


 

6. htop 快捷键速查表

 

按键功能描述
F1 / h帮助显示帮助菜单
F2 / S设置进入自定义配置菜单
F3 / /搜索搜索并高亮进程
F4 / \过滤只显示匹配的进程
F5 / t树状视图切换进程的树状显示
F6 / < >排序按指定列排序
F7 / [降低 Nice提高进程优先级 (Nice-)
F8 / ]提高 Nice降低进程优先级 (Nice+)
F9 / k杀死进程向进程发送信号 (Kill)
F10 / q退出退出 htop
u按用户过滤只显示特定用户的进程
H / K切换线程隐藏/显示用户或内核线程
l显示 lsof列出进程打开的文件
s显示 strace跟踪进程的系统调用
Space标记进程标记/取消标记一个进程,用于批量操作