Htop - 适用于 Linux 的交互式进程查看器
介绍
系统监控是 Linux 管理的一个重要方面,因为它可以清晰地概述系统资源的使用情况以及 Linux 系统上运行的各种进程和应用程序的性能。有多种工具提供此功能,但 Htop 因其卓越的功能和用户友好的界面而脱颖而出。 Htop 是一个交互式进程查看器和系统监视器,它取代了大多数 Linux 发行版中较旧的“top”实用程序。
Htop 提供系统上运行的进程的实时、颜色编码和图形表示,CPU、内存和交换使用情况显示在顶部。在本文中,我们深入研究 Htop 的细微差别,通过各种示例演示其用途和应用。
安装Htop
要在 Ubuntu 或任何其他基于 Debian 的发行版上安装 Htop,您可以使用以下命令 -
sudo apt−get install htop
对于 Red Hat 或 CentOS -
sudo yum install htop
对于费多拉 -
sudo dnf install htop
安装后,您只需在终端中输入 htop 即可启动 Htop。
探索 Htop 界面
当您第一次运行 Htop 时,您将看到一个色彩丰富的界面,其中包含丰富的信息。顶部部分显示有关处理器、内存和交换使用情况的统计信息。屏幕的其余部分由当前正在运行的进程列表占据,按 CPU 使用率排序。
屏幕上的主要信息包括 -
PID - 进程 ID
USER - 拥有该进程的用户
PRI - 进程的优先级
NI - 过程的美好价值
VIRT - 进程使用的虚拟内存
RES - 进程使用的驻留内存
SHR - 进程的共享内存
S - 进程的状态
CPU% - 任务已使用的 CPU 时间百分比
MEM% - 任务已使用的 RAM 百分比
TIME+ - 进程运行的总时间
命令 - 启动进程的命令
使用 Htop 导航和管理流程
Htop 相对于 top 的优势之一是您可以垂直和水平滚动以查看所有进程和完整的命令行。您可以使用向上和向下箭头选择进程,并使用向右和向左箭头导航下部面板。
要终止 Htop 中的进程,您可以使用箭头键移动到该进程,然后按 F9 或“k”,然后按 Enter 键向该进程发送 SIGTERM 信号。
要更改进程的优先级(也称为“renicing”),请选择该进程并按 F7 增加 Nice 值(使其不利于调度)或按 F8 减小 Nice 值(使其更有利于调度) 。
定制Htop
您可以通过按 F2 或“S”自定义 Htop。这将打开设置菜单,您可以在其中配置仪表、显示选项,甚至选择 Htop 使用的颜色。通过导航到“完成”按钮并按 Enter 键,可以保存更改以供将来的会话使用。
过滤和搜索过程
使用 Htop,您可以通过按 F4 或 '',然后键入要过滤的文本来过滤进程列表。按 F3 或“/”将允许您增量搜索进程。
例如,要过滤或搜索“bash”进程,请在按 F4 或 F3 后键入“bash”,然后按 Enter。
示例
[htop 1.0.1] Tasks: 64, 174 thr; 1 running
Mem[||||||||||| 1880/7976MB]
Swp[ 0/0MB]
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
3091 root 20 0 5488 1660 1280 S 0.0 0.1 0:00.02 bash
3095 root 20 0 5488 1664 1284 S 0.0 0.1 0:00.01 bash
3101 root 20 0 5488 1668 1288 S 0.0 0.1 0:00.01 bash
分拣流程
默认情况下,Htop 按 CPU 使用率对进程进行排序。但是,您可以通过按 F6 或“>”键更改排序标准。出现一个菜单,您可以选择按PID、USER、CPU%、MEM%、TIME+等排序。
树视图
Htop 允许您以树形视图查看进程,该视图显示进程之间的父子关系。要切换到树视图,请按 F5 或“t”。
示例
[htop 1.0.1] Tasks: 64, 174 thr; 1 running
Mem[||||||||||| 1880/7976MB]
Swp[ 0/0MB]
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
3091 root 20 0 5488 1660 1280 S 0.0 0.1 0:00.02 |-bash
3095 root 20 0 5488 1664 1284 S 0.0 0.1 0:00.01 |-bash
3101 root 20 0 5488 1668 1288 S 0.0 0.1 0:00.01 | `-bash
仅显示用户特定进程
您可以根据特定用户过滤进程。例如,如果您想仅显示用户“root”拥有的进程,则可以按 F4 或“”,然后键入“root”。
示例
[htop 1.0.1] Tasks: 64, 174 thr; 1 running
Mem[||||||||||| 1880/7976MB]
Swp[ 0/0MB]
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
1 root 20 0 10.6M 6080 3984 S 0.0 0.0 0:01.94 /sbin/init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 [kthreadd]3
查看特定 CPU 上运行的进程
Htop 允许您查看特定 CPU 上运行的进程。按 F2 进入设置菜单,进入“显示选项”并选择“详细 CPU 时间”。选择“完成”并按 Enter 键退出设置菜单。这将显示详细的 CPU 使用统计信息,按用户/系统时间以及单个 CPU(如果您的系统有多个内核)细分。
示例
[htop 1.0.1] Tasks: 64, 174 thr; 1 running
CPU0[||||| 11.7%]
CPU1[||| 7.4%]
CPU2[||||| 12.6%]
CPU3[|| 4.6%]
Mem[||||||||||| 1880/7976MB]
Swp[ 0/0MB]
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
1 root 20 0 10.6M 6080 3984 S 0.0 0.0 0:01.94 /sbin/init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 [kthreadd]
Htop 中的 Strace 流程
Strace 是一个调试实用程序,用于监视特定程序的系统调用和信号。它对于调试和理解程序如何与系统内核交互非常有用。您可以通过突出显示进程并按 's' 直接从 Htop 启动进程上的 strace。
请注意,您可能需要以 root 身份运行 Htop 才能使用此功能,并且系统上必须安装 strace。
示例
[htop 1.0.1] Tasks: 64, 174 thr; 1 running
Mem[||||||||||| 1880/7976MB]
Swp[ 0/0MB]
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
1 root 20 0 10.6M 6080 3984 S 0.0 0.0 0:01.94 /sbin/init
按下“s”后,将打开一个新的终端窗口,显示所选进程的 strace 输出。
基于层次结构显示流程
您还可以根据父子关系查看进程。这对于理解流程如何相关非常有用。要查看此内容,请按 F5 或“t”。
示例
[htop 1.0.1] Tasks: 64, 174 thr; 1 running
Mem[||||||||||| 1880/7976MB]
Swp[ 0/0MB]
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
1 root 20 0 10.6M 6080 3984 S 0.0 0.0 0:01.94 |-/sbin/init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 |-[kthreadd]
3 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 | \[kworker/0:0H]
这些只是 Htop 可以执行的操作的几个示例。它是一款多功能工具,具有大量用于监视和管理进程的选项,使其成为任何 Linux 用户工具包中的必备工具。
结论
Htop 是 Linux 管理员不可或缺的工具,提供详细、实时的系统性能概览。其丰富多彩、用户友好的界面,再加上终止、调整进程以及排序、过滤或搜索特定任务的能力,使其成为比传统“顶级”实用程序更受欢迎的工具。借助 Htop,您可以获得系统的全面交互式视图,使故障排除和系统资源分配变得轻而易举。