找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

1686

积分

0

好友

220

主题
发表于 2026-2-10 23:30:49 | 查看: 27| 回复: 0

在 Linux 服务器管理中,传统的 top 命令是查看系统资源的经典工具,但其单调的黑白界面和相对繁琐的操作常常让系统管理员感到不便。今天,我们将介绍一款功能更强大、界面更直观的替代工具——htop。它不仅拥有彩色的图形化界面,支持鼠标操作,还能实时、清晰地展示 CPU、内存及进程的详细状态,让服务器监控工作变得更加高效和轻松。本文将详细介绍 htop 在 CentOS 7 操作系统下的安装步骤及核心使用方法。

一、在 CentOS 7 上安装 htop

在 CentOS 7 系统中,htop 默认不包含在基础软件源中,通常需要通过 EPEL 额外仓库或源码编译的方式安装。推荐使用 EPEL 仓库进行安装,这种方法更为简单快捷。

1. 启用 EPEL 仓库

EPEL(Extra Packages for Enterprise Linux)是为企业版 Linux 提供的额外软件包仓库,其中包含了大量实用工具。
在终端中,以 root 权限执行以下命令来安装 epel-release 软件包,以启用 EPEL 仓库:

yum -y install epel-release

执行此命令后,终端会显示详细的过程。系统首先会加载最快的镜像源,例如来自 mirrors.aliyun.com 的阿里云镜像。随后,它会自动解决依赖关系,并开始下载和安装 epel-release 软件包。安装过程会显示事务摘要,例如“安装 1 软件包”,总下载量约为 15 KB。

2. 确认 EPEL 仓库配置成功

安装完成后,CentOS 系统会自动配置好 EPEL 仓库。你可以通过以下命令来确认仓库是否已成功添加:

yum repolist | grep epel

命令执行后,若配置成功,会显示类似 *epel/x86_64 Extra Packages for Enterprise Linux 13,791 的输出,表示 EPEL 仓库已启用,并包含超过一万个软件包。

3. 安装 htop 工具

启用 EPEL 仓库后,就可以直接使用 yum 命令安装 htop 了:

yum -y install htop

安装过程同样会显示详细信息。系统会从 EPEL 仓库(如 mirrors.aliyun.com)加载元数据,解析依赖关系,并下载 htop 软件包(约 103 KB)。在安装过程中,可能会遇到 GPG 密钥的警告,系统会自动从本地文件检索并导入正确的密钥(例如 Fedora EPEL 的密钥 ID 352c64e5),以验证软件包签名,确保安全性。

4. 启动 htop

安装完成后,在终端直接输入 htop 命令并回车即可启动。

htop

二、htop 界面详解与核心操作

启动 htop 后,你将看到一个布局清晰、色彩丰富的监控界面。整个界面主要分为顶部信息区、中部进程列表区和底部快捷键提示栏。

1. 界面信息快速解读

顶部区域集中展示了系统的整体资源概况:

  • CPU 使用率:以彩色条形图展示每个逻辑核心的使用情况,通常绿色表示用户态进程占用,蓝色表示系统内核占用。条形图右侧会显示每个核心的具体百分比数值。
  • 内存(Mem)与交换空间(Swap):使用条形图和数字显示总内存、已用内存和空闲内存。内存条中,已用部分通常用红色表示。
  • 任务(Tasks):显示当前系统的总进程数以及其中处于运行状态(running)的进程数。
  • 平均负载(Load average):分别显示系统在过去 1分钟、5分钟和15分钟内的平均负载。
  • 运行时间(Uptime):显示系统自上次启动后已持续运行的时间。

一个典型的顶部状态行示例如下:

Tasks: 42, 21 thr; 1 running | Load average: 0.06 0.03 0.05 | Mem[|||||||||||||||||||        158M/973M] | Swap[|                   264K/2.00G] | Uptime: 00:44:22

中间区域是进程列表,默认按 CPU 占用率降序排列。每一列都提供了关键信息:

  • PID:进程标识符。
  • USER:进程所有者的用户名。
  • PRI / NI:进程的优先级和nice值。
  • VIRT / RES / SHR:虚拟内存、常驻物理内存、共享内存的使用量。
  • S:进程状态(如 S-睡眠,R-运行)。
  • CPU% / MEM%:进程对 CPU 和内存的瞬时占用百分比。
  • TIME+:进程累计占用的 CPU 时间。
  • Command:启动进程的命令行。

一个进程列表的示例如下:

PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
7294 root 20 0 119M 2544 1552 R 2.0 0.3 0:08.64 htop
7111 root 20 0 157M 6184 4792 S 0.0 0.6 0:03.23 sshd: root@pts/0

底部区域显示了功能快捷键提示,例如 F1 Help, F2 Setup, F3 Search, F4 Filter, F5 Tree, F6 SortBy, F7 Nice-, F8 Nice+, F9 Kill, F10 Quit。这些功能也支持鼠标直接点击操作。

2. 核心操作技巧

htop 的强大不仅在于其直观的展示,更在于其便捷的交互操作,这极大地提升了系统监控与故障排查的效率。

结束进程
使用键盘方向键或鼠标将高亮选择条移动到目标进程上,按下 F9 键,屏幕右侧会弹出一个信号选择菜单,列出了从 SIGTERM(15)到 SIGKILL(9)等多种信号。再次使用方向键选择要发送的信号(例如,选择 SIGTERM 以正常终止进程),按回车确认即可。这个过程完全避免了手动输入 kill 命令和 PID,操作更加直观和安全。

按不同指标排序
按下 F6 键,会弹出排序字段选择菜单。你可以通过方向键选择 PERCENT_CPU(按 CPU 使用率)、RES(按内存使用量)或 TIME+(按运行时间)等不同字段进行排序。例如,当需要快速定位内存消耗最大的进程时,选择按 RES 降序排序即可一目了然。你还可以直接使用鼠标点击进程列表顶部的列名(如 CPU%MEM%)进行快速排序。

搜索特定进程
按下 F3 键,屏幕底部会出现搜索框(Search:)。输入进程名称或命令关键字(如 nginxhttpd),htop 会实时高亮显示所有匹配的进程,并自动将光标跳转到第一个匹配项。按回车键可以在所有匹配项之间循环跳转。

切换树状视图
按下 F5 键,进程列表会从平铺模式切换为树状模式。在这种视图下,父子进程的层级关系通过缩进清晰展示,这对于理解由主进程(如 systemdhttpd)派生出的众多子进程的结构非常有帮助,便于分析服务架构。

查看进程详细信息
选中某个进程后,可以进一步探查其详细信息:

  • l 键(小写L),可以列出该进程当前打开的文件句柄列表。显示信息包括文件描述符(FD)、类型(TYPE)、设备(DEVICE)、大小(SIZE)和节点名称(NODE NAME)。例如,可以查看某个进程打开了哪些日志文件、网络套接字或库文件。
    SNAPSHOT OF FILES OPEN IN PROCESS 7294 - htop
    FD TYPE DEVICE SIZE NODE NAME
    0 CHR 0xc,3 0t0 /dev/pts/0
    1 CHR 0xc,3 0t0 /dev/pts/0
    2 FIFO 0x9 0t0 pipe
    ... ...
    rtd REG 0xfd00 169624 /usr/bin/htop
  • s 键,可以跟踪该进程的系统调用(此功能需要系统已安装 strace 工具)。这对于排查程序异常、了解进程行为(如卡在哪个I/O操作)是核心的调试手段。跟踪界面会实时滚动显示进程执行的 read, write, select, mmap 等系统调用及其参数、返回值。

三、使用注意事项

  • 权限问题:如果需要结束其他用户的进程或查看所有系统进程的完整信息,建议使用 root 用户权限运行 htop,以避免因权限不足导致操作失败或信息不全。
  • 刷新频率htop 默认的刷新间隔是1.5秒。如果服务器负载非常高,为了降低 htop 自身的资源消耗,可以在启动时指定更长的刷新间隔,例如 htop -d 5 表示每5秒刷新一次。
  • 退出方法:退出 htop 有多种方式,最常用的是按 F10q 键。在紧急情况下,也可以使用 Ctrl+C 组合键强制退出。

参考资料

[1] 让监控更直观:CentOS 7 下 htop 安装与使用指南, 微信公众号:mp.weixin.qq.com/s/k6CSGgZgiRJZQLfF44dJVw

版权声明:本文由 云栈社区 整理发布,版权归原作者所有。




上一篇:示波器波形分析定位CAN总线错误帧与故障源
下一篇:Zorin OS 18对比Linux Mint 22.3:Windows用户迁移至Linux的技术选型指南
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-2-23 15:31 , Processed in 0.491235 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表