1.简介
top命令升级版本htop
htop的介绍
htop是Linux系统中的一个互动的进程查看器,与Linux传统的top比较的话,htop更人性化并且还支持鼠标操作!
htop的优势
(1) 在htop中,可以垂直和水平滚动列表,查看所有进程和完整的命令行。
(2) 在top中,您按下的每个未分配的键都有延迟(尤其是当多键转义序列意外触发时)。
(3) htop启动得更快(top似乎在显示任何东西之前会收集一段时间的数据)。
(4) 在htop中,您不需要输入进程号来终止进程,而在top中,您需要这样做。
(5) 在htop中,您不需要输入进程编号或优先级值来重新分配进程,而在top中,您需要这样做。
(6) 在htop中,您可以同时杀死多个进程。
(7) top更老,因此更容易测试。
2.安装
yum install htop
3.使用
使用htop命令
启动 htop 后,你会看到一个简洁、直观的用户界面,默认显示了当前系统的所有重要指标,包括 CPU、内存和 SWAP 交换空间的使用率,以及正在运行的进程列表等。
说明:
从上面的截图中可以看到,
htop
命令输出总共分成了三个展示区:
(1)顶部区域
(2)进程区域
(3)底部区域
顶部仪表板包括了每个 CPU 核心、内存和 SWAP 交换空间的使用率。下表列出了这些指标的含义:
CPU 监视器 | Mem 内存监视器 | Swp 交换区监视器 | |
---|---|---|---|
蓝 | 低优先级进程 | 缓冲区使用的内存 | 已用交换空间 |
绿 | 普通用户进程 | 已用内存 | / |
红 | 内核进程 | / | / |
黄/橙 | 虚拟机运行时间(客户机时间) | 缓存使用的内存 | 用于缓存的交换空间 |
品红 | / | 共享内存 | |
灰 | / | 压缩内存 | 前交换 |
除了图形化的资源使用情况,htop 的顶部区域还包含了三个重要的数值监视器,它们提供了系统运行状态的关键信息:
- Tasks:任务监视器显示了当前系统中任务和线程总数、内核线程数,可以帮助你快速了解系统的整体情况。
- Load average:平均值显示了过去 1 分钟、5 分钟和 15 分钟内的平均 CPU 。该指标反映了系统在不同时间段内的平均工作量,有助于判断系统的趋势变化。
- Uptime:显示了系统开机运行时间,可以帮助你了解系统的持续运行时间,对于需要长期稳定运行的服务器来说尤其重要。
htop 的主进程界面列出了系统中运行进程的动态排序列表。默认情况下,进程按 CPU 使用率的降序排列,让你一眼就能看出哪些进程最耗系统资源。
进程列表包含以下重要信息:
列名 | 全称 | 描述 |
---|---|---|
PID | Process ID | 进程 ID 号 |
USER | User | 进程所有者 |
PRI | Priority | 进程优先级 |
NI | Nice | 进程的「友好度」(Nice 值)。友好值越高,进程越容易让出资源给其他进程 |
VIR | Virtual Memory | 进程使用的虚拟内存 |
RES | Resident Memory | 进程使用的物理内存 |
SHR | Shared Memory | 进程使用的共享内存 |
S | State | 当前进程状态 |
CPU% | CPU Percentage | 进程使用的 CPU 时间百分比 |
MEM% | Memory Percentage | 进程使用的内存百分比 |
TIME+ | CPU Time | 进程启动以来使用的总 CPU 时间 |
Command | Command | 启动进程的命令行 |
其中,进程状态(S 列)的含义如下:
状态符号 | 状态名称 | 描述 |
---|---|---|
R | Running | 运行中 |
S | Sleeping | 睡眠中(可中断) |
D | Disk sleep | 磁盘睡眠(通常因磁盘 I/O 活动不可中断) |
t | Traced | 被调试器停止 |
Z | Zombie | 僵尸进程(已终止但未被父进程回收) |
通过这些详细信息,系统管理员可以快速识别资源消耗异常的进程,从而有针对性地优化或排除问题。
命令行选项(COMMAND-LINE OPTIONS)
-C --no-color 使用一个单的方案
-d --delay=DELAY 设置延迟更新时间,单位秒
-h --help 显示htop 命令帮助信息
-u --user=USERNAME 只显示一个给定的用户的过程
-p --pid=PID,PID… 只显示给定的PIDs
-s --sort-key COLUMN 依此列来排序
-v –version 显示版本信息
交互式命令(INTERACTIVE COMMANDS)
上下键或PgUP, PgDn 选定想要的进程,左右键或Home, End 移动字段,当然也可以直接用鼠标选定进程;
Space 标记/取消标记一个进程。命令可以作用于多个进程,例如 "kill",将应用于所有已标记的进程
U 取消标记所有进程
s 选择某一进程,按s:用strace追踪进程的系统调用
l 显示进程打开的文件: 如果安装了lsof,按此键可以显示进程所打开的文件
I 倒转排序顺序,如果排序是正序的,则反转成倒序的,反之亦然
+, - When in tree view mode, expand or collapse subtree. When a subtree is collapsed a "+" sign shows to the left of the process name.
a (在有多处理器的机器上) 设置 CPU affinity: 标记一个进程允许使用哪些CPU
u 显示特定用户进程
M 按Memory 使用排序
P 按CPU 使用排序
T 按Time+ 使用排序
F 跟踪进程: 如果排序顺序引起选定的进程在列表上到处移动,让选定条跟随该进程。这对监视一个进程非常有用:通过这种方式,你可以让一个进程在屏幕上一直可见。使用方向键会停止该功能。
K 显示/隐藏内核线程
H 显示/隐藏用户线程
Ctrl-L 刷新
Numbers PID 查找: 输入PID,光标将移动到相应的进程上
htop 基本操作与常用快捷键
鼠标操作
htop 支持键盘和鼠标操作,使用起来非常灵活。点击「列标题」可以按该列对进程排序,选中的「列标题」背景会变蓝。
功能键
htop 界面底部列出了常用功能键/操作快捷键,方便在没有鼠标时使用。你可以按对应的功能键或点击蓝标签来执行相应操作。
- 常用功能快捷键如下:
-
快捷键 功能描述 F1
查看帮助,解释计量器含义、进程状态和键盘快捷键等信息 F3
或/
按名称搜索进程( F3
查找下一个匹配项,Shift+F3
查找上一个)F4
过滤进程 F5
切换树状显示,显示进程父子关系 F10
或q
退出 htop U
按用户筛选进程
- 针对选中进程的快捷键:
-
快捷键 功能描述 F7
降低进程优先级(提高 Nice 值) F8
提高进程优先级(降低 Nice 值) F9
或k
终止进程
某些「终端」可能会将 F10 用于自身功能。如果遇到这类情况,需在终端设置中禁用「启用菜单加速键」选项,以便将 F10 按键传递给 htop,但推荐直接使用q
来执行退出。