htop?为什么用它?htop 是一个实时的、交互式的 Linux 进程监视工具。相比于老牌的 top 命令,htop 提供了压倒性的优势:
kill (杀死)、nice (调整优先级) 等操作。
htop 在大多数发行版的官方仓库中都有提供,但通常不会预装。
Bash
101# Debian / Ubuntu2sudo apt update3sudo apt install htop45# CentOS / RHEL / Fedora6# (RHEL/CentOS 8+ 和 Fedora)7sudo dnf install htop8# (RHEL/CentOS 7)9sudo yum install epel-release # htop 在 EPEL 仓库中10sudo yum install htop安装完成后,直接在终端输入 htop 即可启动。
htop 界面
htop 的界面主要分为三个区域:
这是系统的“仪表盘”,显示核心指标:
CPU [1, 2, 3...]: (左侧) 这是 htop 的精华。它会为你的每一个 CPU 核心显示一个使用率条。
颜色含义:
Mem [|||||]: (右侧) 内存使用情况。
颜色含义:
Swp [|||]: (右侧) 交换空间 (Swap) 的使用情况。
Tasks: 任务总数,以及正在运行 (running) 的任务数。
Load average (1, 5, 15): 系统在过去 1、5、15 分钟的平均负载。
Uptime: 系统已运行时间。
这是可滚动的主窗口,显示所有进程。
NI 越低,优先级越高。RES 是该进程实际占用的物理内存,是你最应该关心的。
这是 htop 的“菜单栏”,显示了 F1 到 F10 键的功能。
htop 的所有操作都是即时的。
F6 (或 < > 键): 弹出排序菜单。你可以选择按 %CPU、%MEM、PID 等排序。%CPU)即可按该列排序。
杀死进程 (Kill)
F9 (或 k 键)。15 SIGTERM (默认): 礼貌地通知进程自行关闭(推荐首选)。9 SIGKILL: 强制杀死进程(用于 SIGTERM 无法杀死的僵尸进程)。调整进程优先级 (Nice)
F7 (或 [ 键): 降低 Nice 值(提高优先级)。F8 (或 ] 键): 提高 Nice 值(降低优先级,"be nice")。
树状视图 (Tree View) ⭐
F5 (或 t 键)。htop 会以树状结构显示所有进程。这对于查看进程间的父子关系(例如哪个服务启动了哪些工作进程)极其有用。搜索 (Search)
F3 (或 / 键)。nginx),htop 会高亮并跳转到匹配的进程。过滤 (Filter)
F4 (或 \ 键)。nginx)。htop 会只显示命令中包含 nginx 的进程,其他全部隐藏。F4 并清空内容,即可取消过滤)按用户过滤
u 键。www-data),htop 会只显示该用户的进程。
l (小写 L): 选中一个进程,按 l,会使用 lsof 列出该进程打开的所有文件。s (小写 S): 选中一个进程,按 s,会使用 strace 跟踪该进程的系统调用。H (大写 H): 隐藏/显示用户线程 (User Threads)。K (大写 K): 隐藏/显示内核线程 (Kernel Threads)。
F2 Setup)
htop 最强大的地方在于它的可配置性。按下 F2 (或 S 键) 进入设置菜单。
Setup 菜单中,选择 Meters。Clock 或 Hostname),按 F5 将其添加到左侧或右侧。Enter 可以在不同样式(如 Bar, Text, LED)间切换。F7/F8 移动位置,F9 删除。
Setup 菜单中,选择 Columns。IO_RATES 用于查看磁盘 I/O),按 F5 将其添加到 "Active Columns"。F9 删除。F7/F8 上下移动。
在 Setup 菜单中做完所有修改后,必须按 F10 (Save) 来保存设置。
配置会保存在 ~/.config/htop/htoprc 文件中。
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 | 标记进程 | 标记/取消标记一个进程,用于批量操作 |