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

对于Fedora:

sudo dnf install htop

安装完成后,只需在终端中输入htop即可启动Htop。

探索Htop界面

首次运行Htop时,您将看到一个包含大量信息的彩色界面。顶部部分显示有关处理器、内存和交换空间使用情况的统计信息。屏幕的其余部分显示按CPU使用率排序的当前运行进程列表。

屏幕上的主要信息包括:

  • PID - 进程ID

  • USER - 拥有该进程的用户

  • PRI - 进程的优先级

  • NI - 进程的nice值

  • VIRT - 进程使用的虚拟内存

  • RES - 进程使用的驻留内存

  • SHR - 进程的共享内存

  • S - 进程的状态

  • CPU% - 任务已使用的CPU时间的百分比

  • MEM% - 任务已使用的RAM的百分比

  • TIME+ - 进程运行的总时间

  • Command - 启动该进程的命令

使用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是一个调试实用程序,它监视特定程序的系统调用和信号。它对于调试和了解程序如何与系统的内核交互非常有用。您可以通过突出显示进程并按“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管理员不可或缺的工具,它提供系统性能的详细实时概述。其色彩鲜艳、用户友好的界面,加上能够终止、调整进程优先级以及对特定任务进行排序、过滤或搜索的能力,使其成为优于传统“top”实用程序的首选工具。使用Htop,您可以获得系统的全面交互式视图,使故障排除和系统资源分配变得轻而易举。

更新于:2023年7月17日

浏览量:245

启动您的职业生涯

完成课程获得认证

开始学习
广告