Skip to main content

htop

  • htop explained
  • 内存
    • VIRT/VSZ - Virtual Image - 虚拟镜像
      • VIRT = SWAP + RES
      • 意义不大
      • 所用到的虚拟内存,包含所有代码、数据、共享包、交换区页、映射但未使用页
      • 应用申请 1GB 但只用 1MB 也会计算为 1G。
      • 如果 mmap 1G 的文件,但未使用,也算 1G。
    • RES/RSS - Resident size - 常驻内存
      • RES = CODE + DATA
      • 未被交换的物理内存
      • 不包含在交换区的内存
      • 部分内存可能与其他进程共享
      • 例如一个 1GB 的 进程 fork 后,新的进程也会占用 1G,但实际只用到了 1G。Linux 会对内存 写时复制。
    • SHR - Shared Mem size - 共享内存
      • 进程用到的共享内存
      • 内存可能被共享,但不一定已经被其他进程共享使用。
  • 单位为 kb
  • 配置文件
    • ~/.config/htop/htoprc
    • ~/.htoprc
Key功能说明
F1, h, ?帮助 (Help):显示帮助屏幕,列出所有可用的快捷键及其功能。
F2, S设置 (Setup):进入设置菜单,可以自定义界面顶部的仪表(Meters)、显示选项、配色方案、列的显示与排序等。
F3, /搜索 (Search):输入字符,htop 会向前(向下)搜索匹配的进程命令行。按 F3 会继续查找下一个匹配项。
F4, \过滤 (Filter):输入字符,htop 会只显示命令行中包含这些字符的进程。再次按 F4 取消过滤。
F5, t树状视图 (Tree View):切换进程列表为树状结构,显示进程间的父子关系。再次按下可切换回默认的排序列表视图。
F6, >, .排序 (Sort):通过选定的列进行排序。重复按下 F6 或使用左右箭头可以选择不同的列进行排序。
F7, ]降低 Nice 值 (Decrease Nice value):将选中进程的 Nice 值减小(增加优先级)。通常需要 root 权限。
F8, [提高 Nice 值 (Increase Nice value):将选中进程的 Nice 值增大(降低优先级)。可以作用于自己拥有的进程。
F9, k杀死进程 (Kill process):向选中的进程发送信号(默认为 SIGTERM,可选择其他信号如 SIGKILL)。通常用于终止进程。
F10, q退出 (Quit):关闭 htop
Space标记/取消标记进程 (Tag/Untag process):标记一个或多个进程,可以对标记的进程批量执行操作(如 F9 Kill)。
U取消所有标记 (Untag all):取消所有已标记的进程。
u按用户过滤 (Filter by User):从列表中选择一个用户,只显示该用户的进程。
H切换显示用户线程 (Toggle User Threads):切换是否显示用户级进程的线程。关闭时只显示主进程。
K切换显示内核线程 (Toggle Kernel Threads):切换是否显示内核级别的线程。
P按 CPU 排序 (Sort by CPU%):快速切换到按 CPU 使用率排序。
M按内存排序 (Sort by MEM%):快速切换到按内存使用率排序。
T按时间排序 (Sort by TIME+):快速切换到按累计 CPU 时间排序。
F跟踪进程 (Follow Process):当光标选中一个进程时按下 F,视图会保持该进程被选中,即使列表滚动或排序改变。
I反转排序顺序 (Invert Sort Order):将当前排序列的排序顺序反转(升序 <-> 降序)。
+, -展开/折叠子树 (Expand/Collapse Subtree):在树状视图 (t) 下,展开或折叠选中进程的子进程树。
p显示完整路径 (Show full Path):(如果可用) 切换是否在 Command 列显示程序的可执行文件的完整路径。
e显示环境变量 (Show Environment):显示选中进程的环境变量列表。
l显示打开的文件 (Show Open Files via lsof):显示选中进程当前打开的文件列表 (需要安装 lsof 并且 htop 有权限运行它)。
s跟踪系统调用 (Trace Syscalls via strace):对选中的进程附加 strace,实时显示其进行的系统调用 (需要安装 strace 并且有相应权限)。
[, ]F7F8
Enter(通常用于确认操作,如在 Kill 菜单中确认信号)
Arrow Keys导航 (Navigation):上/下箭头滚动进程列表,左/右箭头在列之间移动(当可以选择排序列时)。
PgUp/PgDn翻页 (Page Up/Down):快速向上或向下翻页。
Home/End到顶部/底部 (Home/End):快速跳转到进程列表的开头或结尾。
ColumnDescription
PID进程 ID (Process ID):系统为每个进程分配的唯一数字标识符。
USER用户名 (User Name):启动该进程的用户。
PRI优先级 (Kernel Priority):内核调度进程时使用的内部优先级。数值越低,优先级通常越高。
NINice 值 (Nice Value):用户空间可调整的进程优先级,范围从 -20 (最高优先级) 到 +19 (最低优先级)。
VIRT, VSZ虚拟内存大小 (Virtual Memory Size):进程使用的总虚拟地址空间大小。
RES, RSS物理内存大小 / 常驻内存大小 (Resident Set Size):进程当前实际占用的物理内存(RAM)大小。衡量实际内存占用的常用指标
SHR共享内存大小 (Shared Memory Size)RES 中可能与其他进程共享的部分内存。
S进程状态 (Process Status):表示进程当前的运行状态 (详见下方说明)。
CPU%CPU 使用率 (%):进程使用的 CPU 时间百分比。多核系统上可能超过 100%。
MEM%内存使用率 (%):进程使用的物理内存 (RES) 占系统总物理内存的百分比。
TIME+CPU 时间 (CPU Time):进程自启动以来累计使用的 CPU 时间总量。
Command命令 (Command):启动进程的命令及其参数(可能截断)。