Linux htop 命令

Linux 命令大全 Linux 命令大全


什么是 htop

htop 是一个 Linux 系统下的交互式进程查看器,它比传统的 top 命令提供了更丰富的功能和更友好的用户界面。

htop 的主要特点

  • 彩色显示:不同颜色区分不同类型的进程和系统状态
  • 可视化布局:直观展示 CPU、内存和交换空间使用情况
  • 鼠标支持:可以直接用鼠标点击操作
  • 进程树视图:可以查看进程的层级关系
  • 自定义排序:可按各种指标对进程排序
  • 进程操作:可直接终止、调整优先级等

安装 htop

在基于 Debian/Ubuntu 的系统上

sudo apt update
sudo apt install htop

在基于 RHEL/CentOS 的系统上

sudo yum install epel-release  # 先安装 EPEL 仓库
sudo yum install htop

在基于 Arch Linux 的系统上

sudo pacman -S htop

htop 基本界面解析

启动 htop 只需在终端输入:

htop

界面主要分为以下几个部分:

  1. 顶部区域:系统概览信息

    • CPU 使用率(按核心显示)
    • 内存使用情况
    • 交换空间使用情况
    • 系统运行时间和平均负载
  2. 中间区域:进程列表

    • PID:进程 ID
    • USER:进程所有者
    • PRI:进程优先级
    • NI:nice 值
    • VIRT:虚拟内存使用量
    • RES:物理内存使用量
    • SHR:共享内存大小
    • S:进程状态(运行、睡眠等)
    • CPU%:CPU 使用率
    • MEM%:内存使用率
    • TIME+:CPU 时间
    • COMMAND:命令名称
  3. 底部区域:功能键提示


htop 常用快捷键

快捷键 功能描述
F1 或 h 显示帮助
F2 或 S 进入设置菜单
F3 或 / 搜索进程
F4 或 \ 过滤进程
F5 或 t 显示进程树
F6 或 < 选择排序字段
F7 或 [ 降低进程优先级
F8 或 ] 提高进程优先级
F9 或 k 终止进程
F10 或 q 退出 htop
空格键 标记/取消标记进程
u 显示特定用户的进程
H 显示/隐藏用户线程
K 显示/隐藏内核线程
P 按 CPU 使用率排序
M 按内存使用率排序
T 按运行时间排序

htop 高级功能

1. 进程树视图

F5t 可以切换到进程树视图,显示进程间的父子关系。

2. 进程过滤

F4\ 可以输入过滤条件,只显示符合条件的进程。

3. 多选操作

用空格键标记多个进程后,可以批量操作(如终止)。

4. 自定义显示

F2 进入设置菜单,可以:

  • 调整显示的列
  • 更改颜色主题
  • 设置刷新间隔
  • 配置其他显示选项

5. 系统监控

htop 顶部区域提供了丰富的系统监控信息:

  • CPU 使用率(按核心)
  • 内存和交换空间使用情况
  • 系统负载平均值

htop 与 top 命令对比

特性 htop top
界面 彩色,直观 单色,基本
鼠标支持
进程树视图 支持 不支持
排序方式 多种,可动态调整 有限
进程操作 更丰富 基本
自定义 高度可配置 有限
资源占用 稍高 较低

实际应用示例

示例 1:查找并终止占用 CPU 高的进程

  1. 启动 htop
  2. P 按 CPU 使用率排序
  3. 找到目标进程
  4. F9 选择终止信号(通常选 15 SIGTERM)
  5. 按回车确认

示例 2:监控特定用户的进程

  1. 启动 htop
  2. u
  3. 选择要监控的用户名
  4. 只显示该用户的进程

示例 3:设置刷新间隔

  1. F2 进入设置
  2. 选择 "Display options"
  3. 修改 "Delay" 值(秒)
  4. F10 保存退出

常见问题解答

Q1: htop 和 top 哪个更好?

htop 提供了更丰富的功能和更友好的界面,适合交互式使用;top 更轻量,适合脚本中使用。

Q2: 为什么有些进程显示为绿色/红色?

绿色通常表示正常运行的进程,红色可能表示高资源占用或僵尸进程。

Q3: 如何查看完整的命令行?

F2 进入设置,在 "Display options" 中调整 "Show program path" 选项。

Q4: htop 显示的内存信息是什么意思?

  • VIRT:进程使用的虚拟内存总量
  • RES:进程使用的物理内存
  • SHR:进程使用的共享内存

Linux 命令大全 Linux 命令大全