如何在 htop 中按不同标准对进程进行排序

LinuxBeginner
立即练习

介绍

htop 实用程序是 Linux 系统中传统 top 命令的增强版本。它提供了一个用户友好、交互式的界面,用于实时监控系统资源和管理进程。本教程将指导你使用 htop,重点介绍如何根据不同的标准(例如 CPU 使用率、内存消耗和进程 ID)对进程进行排序。

通过学习如何有效地在 htop 中对进程进行排序,你将能够:

  • 快速识别资源密集型应用程序
  • 更有效地监控系统性能
  • 在进行故障排除时定位特定进程
  • 更好地管理你的系统资源
这是一个实验(Guided Lab),提供逐步指导来帮助你学习和实践。请仔细按照说明完成每个步骤,获得实际操作经验。根据历史数据,这是一个 初级 级别的实验,完成率为 94%。获得了学习者 100% 的好评率。

安装和启动 htop

在第一步中,我们将在你的 Ubuntu 系统上安装 htop 实用程序并首次启动它。

安装 htop

在使用 htop 之前,我们需要安装它。打开你的终端并执行以下命令:

sudo apt update
sudo apt install htop -y

第一个命令更新你的软件包列表,第二个命令安装 htop 软件包。-y 标志自动确认安装。

你应该看到类似于以下的输出:

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
  htop
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 132 kB of archives.
After this operation, 301 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu jammy/main amd64 htop amd64 3.0.5-7build2 [132 kB]
Fetched 132 kB in 1s (132 kB/s)
Selecting previously unselected package htop.
(Reading database ...
Unpacking htop (3.0.5-7build2) ...
Setting up htop (3.0.5-7build2) ...
Processing triggers for man-db (2.10.2-1) ...

启动 htop

现在已经安装了 htop,你可以通过在你的终端中键入以下命令来启动它:

htop

你应该看到一个交互式显示,显示:

  • 带有 CPU、内存和交换空间使用情况条的标题
  • 一个进程列表,显示系统上正在运行的进程
  • 带有键盘快捷键的页脚
htop initial screen

花点时间观察界面。进程列表通常包括以下列:

  • PID (进程 ID)
  • USER (进程所有者)
  • PRI (优先级)
  • NI (Nice 值)
  • VIRT (虚拟内存)
  • RES (常驻内存)
  • SHR (共享内存)
  • S (状态)
  • CPU% (CPU 使用率百分比)
  • MEM% (内存使用率百分比)
  • TIME+ (CPU 时间)
  • Command (进程名称/命令)

当你完成探索后,要退出 htop,请按键盘上的 q 键。

导航 htop 界面

现在你已经安装并启动了 htop,让我们探索它的界面,并学习如何在其中导航。

在 htop 中进行基本导航

再次启动 htop,输入:

htop

使用方向键

htop 界面中:

  • 使用 方向键在进程列表中移动选择光标
  • 如果进程列表比你的屏幕宽,使用 方向键水平滚动

现在尝试使用这些方向键在进程列表中导航。

页面滚动

如果你有许多进程正在运行,你可以使用:

  • Page UpPage Down 键在进程页面之间滚动
  • Home 键跳转到第一个进程
  • End 键跳转到最后一个进程

理解显示

花点时间来理解 htop 显示的主要组成部分:

  1. 标题: 显示系统范围的信息

    • CPU 使用率条(每个 CPU 核心一个)
    • 内存使用率条
    • 交换空间使用率条
    • 正常运行时间(系统运行了多长时间)
    • 负载平均值(过去 1、5 和 15 分钟的系统负载)
  2. 进程列表: 显示关于每个进程的详细信息

    • 每一列代表进程的不同属性
    • 当前选定的进程被高亮显示
  3. 页脚: 显示可用的键盘快捷键

    • 功能键 (F1-F10) 用于常见操作
    • 这些快捷键对于有效使用 htop 至关重要

让我们测试一些基本导航。尝试在列表中找到 htop 进程本身。它应该在正在运行的进程中可见。使用方向键滚动直到找到它。

要在 htop 中获得帮助,请按 F1 键或 h 键。这将打开帮助屏幕,其中包含完整的键盘快捷键列表。

要退出帮助屏幕,请按 Escape 键或 q 键。

当你完成探索后,按 q 退出 htop

在 htop 中对进程进行排序

根据不同的标准对进程进行排序的能力是 htop 最有用的功能之一。在这一步中,我们将学习各种排序进程的方法,以便轻松识别资源密集型应用程序或定位特定进程。

在 htop 中的排序方法

再次启动 htop

htop

使用排序菜单

对进程进行排序的最简单方法是使用专用的排序菜单:

  1. htop 中按 F6 键。这将打开排序菜单。

  2. 你将看到一个可以排序的列的列表:

    • PID
    • USER
    • PRIORITY (优先级)
    • NICE
    • M_SIZE (内存大小)
    • M_RESIDENT (常驻内存)
    • M_SHARE (共享内存)
    • STATE (状态)
    • PERCENT_CPU (CPU 使用率百分比)
    • PERCENT_MEM (内存使用率百分比)
    • TIME (时间)
    • COMM (命令)
  3. 使用方向键选择一列,然后按 Enter 键按该列排序。

例如,按 CPU 使用率排序:

  1. F6
  2. 使用方向键选择 PERCENT_CPU
  3. Enter

现在,进程按 CPU 使用率排序,CPU 消耗最高的进程位于顶部。

直接排序快捷键

htop 还为常见的排序选项提供了直接的键盘快捷键:

  • P 键按 CPU 使用率排序(处理器)
  • M 键按内存使用率排序
  • T 键按时间排序(累计 CPU 时间)
  • N 键按进程 ID 排序

现在尝试每个快捷键,看看进程列表如何变化。

例如,按 M 键按内存使用率排序。注意进程现在是如何排列的,内存消耗最大的进程位于顶部。

反转排序顺序

你可以通过按 I(大写 i)来反转当前的排序顺序。这会在升序和降序之间切换。

尝试使用 P 按 CPU 使用率排序,然后按 I 反转顺序。现在,CPU 使用率最低的进程将出现在顶部。

列高亮显示

当你按特定列排序时,该列会被高亮显示,以指示它是当前的排序键。这使得很容易记住你当前用于排序进程的标准。

尝试不同的排序方法,并观察高亮显示的列如何变化以反映你的选择。

实际示例:查找内存密集型进程

让我们用一个特定的场景来练习。假设你想确定哪些进程正在消耗最多的内存:

  1. M 键按内存使用率排序
  2. 进程现在按内存消耗排序(从高到低)
  3. 列表中的顶部进程是你的系统中最耗内存的应用程序

这种排序方法在排除内存问题或识别内存泄漏时非常有用。

当你完成探索后,按 q 退出 htop

基于排序信息管理进程

在学习了如何在 htop 中对进程进行排序之后,让我们探索如何使用这些排序信息来有效地管理进程。

在 htop 中的进程管理操作

再次启动 htop

htop

选择和管理进程

一旦你对进程进行了排序并确定了感兴趣的进程,你就可以对它们执行各种操作:

  1. 选择一个进程: 使用方向键导航到它
  2. 查看进程详细信息: 按 F2 自定义视图或按 空格键 标记一个进程以进行批量操作
  3. 终止一个进程: 按 F9 向进程发送信号(例如终止它)
  4. 更改进程优先级: 按 F7 降低优先级(更高的 nice 值)或按 F8 提高优先级(更低的 nice 值)

让我们练习这些操作:

排序和检查资源密集型进程

  1. P 键按 CPU 使用率排序
  2. 使用方向键导航到其中一个 CPU 消耗最高的进程
  3. F9 打开“发送信号”菜单
    • 请注意,我们实际上不会发送终止信号;这只是为了演示
    • Esc 取消操作

你可以看到使用排序功能识别和管理高资源进程是多么容易。

更改进程优先级

对进程进行排序后,你可能希望调整某些资源密集型进程的优先级:

  1. M 键按内存使用率排序
  2. 导航到内存使用率高的进程
  3. F8 打开优先级调整菜单
    • 这将允许你提高优先级
    • Esc 取消操作,不进行更改

按用户排序

你还可以按用户对进程进行排序,这在多用户环境中很有用:

  1. F6 打开排序菜单
  2. 选择 USER 并按 Enter
  3. 进程现在按用户分组,这使得很容易看到哪些用户正在运行哪些进程

带有排序的树视图

htop 提供了一个树视图,显示进程之间的父子关系:

  1. F5 切换树视图

  2. 注意进程是如何分层组织的

  3. 你仍然可以在树视图中使用排序

    • P 键按 CPU 使用率排序
    • 进程在排序时仍然保持其层次关系
  4. 再次按 F5 返回到平面视图

过滤进程

你可以将排序与过滤结合起来以缩小进程列表的范围:

  1. F4 激活过滤器

  2. 键入搜索词(例如,bash

  3. Enter 应用过滤器

  4. 现在你可以使用任何排序方法对这些过滤后的结果进行排序

    • P 键按 CPU 使用率对过滤后的进程进行排序
    • M 键按内存使用率对过滤后的进程进行排序
  5. 要清除过滤器,再次按 F4,然后按 Esc

使用排序信息进行系统监控

htop 中排序对于持续的系统监控特别有用:

  1. P 键按 CPU 使用率排序
  2. 在终端中运行 htop
  3. 定期检查哪些进程位于顶部以监控系统性能
  4. 如果你注意到异常的资源使用模式,你可以进一步调查

当你完成探索后,按 q 退出 htop

总结

在本教程中,你已经学习了如何使用强大的 htop 实用程序来监控和管理 Linux 中的进程。你已经获得了以下方面的实用技能:

  • 在 Ubuntu 上安装和启动 htop
  • 导航 htop 界面并了解其关键组件
  • 使用各种标准(如 CPU 使用率、内存消耗和进程 ID)对进程进行排序
  • 使用键盘快捷键进行高效的进程排序
  • 基于排序信息管理进程
  • 使用高级功能,如进程过滤和树视图

这些技能将使你能够有效地监控系统的性能,快速识别资源密集型进程,并就进程管理做出明智的决策。无论你是解决性能问题、优化系统资源,还是仅仅关注你的系统,htop 中的排序功能都为系统管理员和所有级别的 Linux 用户提供了有价值的工具集。

请记住,定期监控你的系统进程可以帮助你保持最佳性能,并在潜在问题成为关键问题之前识别它们。