跳至内容

htop - 进程管理

安装 htop

每个系统管理员都喜欢使用一些常用的命令。今天我推荐 htop 作为 top 命令的替代品。通常要使用 htop 命令,您需要先安装它。

# Installation epel source (also called repository)
dnf -y install epel-release
# Generate cache
dnf makecache
# Install htop
dnf -y install htop

使用 htop

您只需要在终端中输入 htop,交互界面如下:

0[ |||                      3%]     Tasks: 22, 46thr, 174 kthr 1 running
1[ |                        1%]     Load average: 0.00 0.00 0.05
Mem[ |||||||           197M/8G]     Uptime: 00:31:39
Swap[                  0K/500M]
PID   USER   PRI   NI   VIRT   RES   SHR   S   CPU%   MEM%   TIME+   Command(merged)
...

F1 帮助 F2 设置 F3 搜索 F4 过滤 F5F6 排序 F7 nice F8 nice F9 杀死 F10 退出

Top 描述

  • Top 的 0 和 1 指的是您的 CPU 核心数,百分比表示的是单个核心的占用率(当然,也可以显示 CPU 的总占用率)

    • 进度条的各种颜色表示不同类型的进程的百分比

      颜色 描述 其他样式的显示名称
      蓝色 低优先级进程占用的 CPU 百分比
      绿色 普通用户拥有的进程占用的 CPU 百分比
      红色 系统进程占用的 CPU 百分比 系统
      青色 被窃取时间消耗的 CPU 百分比 虚拟
  • 任务:22,46 线程,174 kthr 1 运行中。在我的例子中,它表示我当前的机器有 22 个任务,分为 46 个线程,其中只有 1 个进程处于运行状态,“kthr” 表示有多少个内核线程。

  • 内存信息。同样,使用不同的颜色进行区分
颜色 描述 其他样式的显示名称
蓝色 缓冲区占用的内存百分比 缓冲区
绿色 内存区域占用的内存百分比 已用
黄色/橙色 缓存区占用的内存百分比 缓存
品红色 共享内存区域占用的内存百分比 共享
  • Swap 信息。
颜色 描述 其他样式的显示名称
绿色 Swap 区域消耗的 Swap 百分比 已用
黄色/橙色 缓存区消耗的 Swap 百分比 缓存
  • 平均负载,三个值分别表示系统在过去 1 分钟、过去 5 分钟和过去 15 分钟的平均负载
  • 运行时间,表示开机后的运行时间

进程信息描述

  • PID - 进程 ID 号
  • USER - 进程的所有者
  • PRI - 显示 Linux 内核看到的进程优先级
  • NI - 显示由普通用户或 root 超级用户重置的进程优先级
  • VIRT - 进程正在使用的虚拟内存
  • RES - 进程正在使用的物理内存
  • SHR - 进程正在使用的共享内存
  • S - 进程的当前状态,有一个特殊状态需要注意!即 Z(僵尸进程)。当机器上有大量僵尸进程时,会影响机器性能。
  • CPU% - 每个进程消耗的 CPU 百分比
  • MEM% - 每个进程消耗的内存百分比
  • TIME+ - 显示进程启动以来的运行时间
  • Command - 进程对应的命令

快捷键说明

在交互界面中,按 F1 键可以查看相应的快捷键说明。

  • 上下左右方向键可以滚动浏览交互界面,Space 可以标记相应的进程,标记为黄色。
  • N 键、P 键、M 键和 T 键分别用于按 PID、CPU%、MEM%、TIME+ 进行排序。当然,您也可以使用鼠标点击来按某个字段的升序或降序排序。

其他常用

要管理进程,请使用 F9 键向进程发送不同的信号。信号列表可以在 kill -l 中找到。更常用的有:

信号 描述
1 让进程立即关闭,然后重新读取配置文件后重启
9 用于立即终止程序运行,用于强制终止进程,类似于 Windows 任务管理器中的强制结束
15 kill 命令的默认信号。有时如果进程出现问题且无法用此信号正常终止进程,我们会尝试信号 9。

结束

htop 比系统自带的 top 易于使用得多,它更直观,并且大大提高了日常使用效率。这就是为什么 htop 通常是作者在安装新操作系统后首先安装的软件包之一。

作者:李天赐

贡献者:Steven Spencer