htop(1) command

2024-09-20 08:49:53 浏览数 (2)

1.简介

htop 是一种交互式、跨平台的基于 ncurses 的进程查看器。

类似于 top,但 htop 允许您垂直和水平滚动,并使用指向设备(鼠标)进行交互。您可以观察系统上运行的所有进程,以及它们的命令行参数,还可以以树形格式查看它们,选择多个进程并同时对它们进行操作。

与进程相关的任务(终止、变更优先级)可以在不输入其 PID 的情况下完成。

2.格式

代码语言:javascript复制
htop [-dCFhpustvH]

3.选项

长选项的强制参数对于短选项也是强制的。

代码语言:javascript复制
-d, --delay=DELAY
	延迟时间,后跟一个数字,指定两次更新之间的延迟,单位是 tenths of seconds(十分之一秒)。如果延迟值小于1,则增加到1,即1/10秒。如果延迟值大于100,则减少到100,即10秒。
-C, --no-color, --no-colour
	关闭彩色模式,不显示颜色。
-F --filter=FILTER
	根据与命令匹配的术语筛选进程。匹配的术语不区分大小写,并且是固定字符串(不是正则表达式)。您可以用“|”分隔多个术语。
-h, --help
	显示帮助信息并退出
-p, --pid=PID,PID...
	指定进程,后跟一个或多个 PID,只显示这些进程。
-s, --sort-key=COLUMN
	按指定列排序(使用 --sort-key help 可查看列列表)。这将强制使用列表视图,除非同时指定-t 选项。
-t, --tree
	在树状视图中显示进程。可用于在使用选项 -s 按照指定列排序时强制生成树视状图。
-u, --user=USERNAME|UID
	只显示给定用户的进程。
-U, --no-unicode
	图形仪表不使用 Unicode,而是使用 ASCII 字符
-M, --no-mouse
	禁用鼠标控制的支持
--readonly
	禁用所有系统和进程更改功能
-V, --version
	输出版本信息并退出
-H, --highlight-changes=DELAY
	高亮新旧进程
--drop-capabilities[=off|basic|strict]
	仅限 Linux;需要 libcap 支持。删除不需要的 Linux 功能。在严格模式下,由于功能较少,终止、更改进程优先级和读取进程延迟记帐信息等功能将不起作用。

4.交互式命令

htop 是一个高度交互式的命令行工具,用于监控系统进程和资源利用率。它提供了丰富的键盘快捷键来管理和查看不同的系统参数。

基本导航和视图控制

代码语言:javascript复制
Tab, Shift-Tab
	选择显示的下一个/上一个屏幕标签。可以在设置屏幕(F2)中启用显示屏幕标签名称。
Up, Alt-k
	在进程列表中选择(高亮)上一个进程。如有必要,滚动列表。
Down, Alt-j
	在进程列表中选择(高亮)下一个进程。如有必要,滚动列表。
Left, Alt-h
	向左滚动进程列表。
Right, Alt-l
	向右滚动进程列表。
PgUp, PgDn
	向上或向下滚动进程列表一个窗口。
Home
	滚动到进程列表顶部并选择第一个进程。
End
	滚动到进程列表底部并选择最后一个进程。

进程操作和信息查看

代码语言:javascript复制
Ctrl-A, ^
	向左滚动到进程条目的开始处(即行的开始)。
Ctrl-E, $
	向右滚动到进程条目的结束处(即行的结束)。
Space
	标记或取消标记一个进程。可以对多个标记的进程执行操作,如“杀死”,而非仅对当前高亮的进程操作。
c
	标记当前进程及其子进程。
U
	取消所有进程的标记(移除使用空格或c键添加的所有标记)。
s
	追踪进程系统调用:如果安装了 strace(1),按下此键将其附加到当前选定的进程,实时更新该进程发出的系统调用。
l
	显示进程打开的文件:如果安装了 lsof(1),按下此键将显示该进程打开的文件描述符列表。
w
	在单独的屏幕上显示选定进程的命令行,必要时换行。
x
	在单独的屏幕上显示选定进程的活动文件锁。

帮助和设置

代码语言:javascript复制
F1, h, ?
	转到帮助屏幕。
F2, S
	转到设置屏幕,在这里你可以配置在屏幕顶部显示的计量器,设置各种显示选项,选择颜色方案,并选择哪些列显示,以及它们的顺序。

搜索和过滤

代码语言:javascript复制
F3, /
	增量搜索所有显示进程的命令行。当前选中(高亮)的命令将随着你的输入更新。在搜索模式中,按F3将循环通过匹配的事件。按Shift-F3将向后循环。
F4, 
	增量进程过滤:输入部分进程命令行,只显示名称匹配的进程。要取消过滤,请再次进入过滤选项并按Esc。匹配不区分大小写。术语是固定字符串(无正则表达式)。可以用“|”分隔多个术语。

进程视图和排序

代码语言:javascript复制
F5, t
	树视图:按父子关系组织进程,并将它们之间的关系以树形布局显示。切换键将在树视图和你之前选择的排序视图之间切换。选择一个排序视图将退出树视图。
F6, <, >
	选择排序字段,也可以通过 < 和 > 访问。当前排序字段由标题中的高亮显示指示。

进程优先级调整

代码语言:javascript复制
F7, ]
	增加选定进程的优先级(从'nice'值中减去)。只有超级用户可以
F8, [
	降低选定进程的优先级(增加'nice'值)。
Shift-F7, }
	增加选定进程的自动组优先级(从自动组'nice'值中减去)。只有超级用户可以执行此操作。
Shift-F8, {
	降低选定进程的自动组优先级(增加自动组'nice'值)。

进程管理

代码语言:javascript复制
F9, k
	“杀死”进程:向一个或一组进程发送在菜单中选择的信号。如果进程被标记,则向所有标记的进程发送信号。如果没有标记,则向当前选中的进程发送。
F10, q
	退出 htop。

排序和视图选项

代码语言:javascript复制
I
	反转排序顺序:如果排序顺序是递增的,切换为递减,反之亦然。

特殊视图和功能

代码语言:javascript复制
 , -, *
	在树视图模式中,展开或折叠子树。当子树被折叠时,进程名称左侧显示一个" "号。按""将展开或折叠所有没有父进程的PID的所有子进程,通常是PID 1(init)和PID 2(在Linux上如果显示内核线程,则为kthreadd)。
a(在多处理器机器上)
	设置CPU亲和性:标记进程允许使用的CPU。
u
	仅显示指定用户拥有的进程。
N
	按PID排序。
M
	按内存使用排序(兼容top命令的快捷键)。
P
	按处理器使用率排序(兼容top命令的快捷键)。
T
	按时间排序(兼容top命令的快捷键)。
F
	“跟随”进程:如果排序顺序导致当前选中的进程在列表中移动,使选择条跟随它。这对于监控进程很有用:这样,你可以保持进程始终显示在屏幕上。使用移动键时,“跟随”效果会失效。

隐藏选项和刷新

代码语言:javascript复制
K
	隐藏内核线程:阻止显示属于内核的线程。
H
	隐藏用户线程:在系统中不同于普通进程表示它们的系统(如基于最新的NPTL的系统),这可以隐藏用户空间进程的线程。
O
	隐藏容器化进程:阻止显示在容器中运行的进程。
p
	显示运行程序的完整路径(适用时)。
Z
	暂停/恢复进程更新。
m
	合并exe、comm和cmdline(适用时)。
Ctrl-L
	刷新:重绘屏幕并重新计算值。

其他功能

代码语言:javascript复制
数字:PID搜索:输入进程ID,选择高亮将移动到该进程。

5.示例

(1)基本使用。

打开终端,输入 htop,即可启动 htop 程序。这将显示一个动态更新的界面,列出所有活动进程及其当前状态。

(2)设置更新间隔。

若要设置更新间隔为0.5秒,可以使用以下命令:

代码语言:javascript复制
htop -d 5

这里的 5 表示十分之五秒,因为 htop 中的时间单位是十分之一秒。

(3)查看特定用户的进程。

如果只想查看属于用户 alice 的进程,可以使用:

代码语言:javascript复制
htop -u alice

(4)若要监控 PID 为 1234 和 5678 的两个进程,可以使用:

代码语言:javascript复制
htop -p 1234,5678

(5)以树状形式显示进程。

显示进程的树状结构可以帮助理解进程之间的父子关系。这可以通过以下命令实现:

代码语言:javascript复制
htop --tree

6.小结

htop 是一个功能丰富、易于使用的工具,它提供了 top 命令所不具备的交互功能和更直观的用户界面。

掌握 htop 的使用,可以显著提高对 Linux 系统进行监控和管理的效率。无论是系统管理员还是普通用户,htop 都是一个宝贵的工具,值得在日常工作中加以利用。


参考文献

htop(1) - Linux manual page

htop - an interactive process viewer

0 人点赞