htop 命令详解:Linux 服务器 CPU 内存实时监控与进程管理实战


htop 命令详解:Linux 服务器 CPU 内存实时监控与进程管理实战

服务器突然变卡了、CPU 被某进程吃满了、内存不知道被谁占光——遇到这些问题,第一反应就是打开系统监控工具看一眼。虽然系统自带的 top 能用,但界面朴素、操作繁琐;而 htop 作为 top 的增强版,彩色界面、支持鼠标、树形视图、一键搜索过滤杀进程,几乎成为运维的标配工具。这篇文章把 htop 从安装到进阶玩法一次讲清。

一、htop 是什么?和 top 有什么区别?

htop 是一个交互式进程查看器,是传统 top 命令的现代化替代品:

对比项tophtop
-------------------
界面黑白文本彩色、图形化进度条
操作键盘快捷键键盘 + 鼠标
进程列表固定一屏可上下滚动,显示全部进程
树形视图需手动切换F5 一键切换
搜索/过滤较弱F3/F4 快速搜索过滤
直接杀进程需要输入 PID选中后 F9 直接杀

核心功能都一样:实时显示 CPU、内存、Swap、负载、运行时间和进程列表,默认每 2-3 秒刷新一次。

二、安装 htop

多数 Linux 发行版默认不自带,需要手动安装:

# Debian / Ubuntu
sudo apt update && sudo apt install -y htop

# CentOS / RHEL(需要先启用 EPEL 源)
sudo yum install -y epel-release && sudo yum install -y htop

# Fedora
sudo dnf install -y htop

# Arch
sudo pacman -S htop

验证是否装好:

htop --version

三、看懂 htop 界面

在终端输入 htop 回车即可启动,界面分三块:

1. 顶部仪表区(Meters)

  • CPU 条:每个核心一条,按颜色区分——绿色(用户进程)、红色(内核/系统)、蓝色(低优先级 nice 进程)、青色(虚拟化 steal 时间,VPS 上常见);
  • 内存条 Mem:绿色为已用、蓝色为缓冲区、黄色为文件缓存,后面显示"已用/总量";
  • Swap 条:交换分区使用情况;
  • Load average:1/5/15 分钟平均负载,判断标准是看核数:4 核机器负载长期高于 4 就说明 CPU 饱和了;
  • Uptime:系统已运行时间。
  • 2. 中部进程列表

    每列含义:PID(进程号)、USER(属主)、PRI/NI(优先级)、VIRT(虚拟内存)、RES(物理内存)、SHR(共享内存)、S(状态)、CPU%(CPU 占用)、MEM%(内存占用)、TIME+(累计运行时间)、Command(完整命令)。

    重点看 CPU% 和 MEM% 两列,谁吃资源一眼就懂。

    3. 底部功能键菜单

    F1 帮助、F2 设置、F3 搜索、F4 过滤、F5 树形视图、F6 排序、F7/F8 调整优先级、F9 杀进程、F10 退出。

    四、常用操作速查

    排序(找最吃资源的进程)

  • 按 CPU 排序:按 P 键,或 F6 选择 CPU%;
  • 按内存排序:按 M 键,或 F6 选择 MEM%;
  • 按运行时间:按 T 键。
  • 搜索与过滤

  • F3 搜索:输入进程名关键字(如 nginx),自动跳到第一个匹配项;
  • F4 过滤:输入关键字后只显示匹配的进程,比搜索更实用(如只看 mysql 相关进程);
  • 按用户过滤:按 u 键,选择某个用户只看他的进程。
  • 树形视图

    按 F5(或 t)切换树形视图,进程按父子关系展示,排查"谁是某个子进程的爸爸"、定位僵尸进程非常方便。

    杀进程(先选中,再操作)

  • 用上下方向键选中目标进程;
  • 按 F9,选择信号:默认 SIGTERM(15,优雅退出),杀不掉就选 SIGKILL(9,强制终止);
  • 回车确认。
  • 比 kill -9 <PID> 直观多了,不用先记 PID 再手动敲命令。

    调整优先级

    选中进程后按 F7(提升优先级,nice 值减小)或 F8(降低优先级),适合给关键服务提权、给后台任务降权。

    显示所有 CPU 核心

    按 1 键在"单条汇总 CPU"和"每核一条"之间切换。

    五、命令行参数与自动化

    htop 也支持命令行参数,方便脚本和批处理场景:

    htop -d 5        # 每 5 秒刷新一次
    htop -s PERCENT_CPU   # 启动时直接按 CPU 排序
    htop -u www-data      # 只看指定用户的进程
    htop --tree           # 启动即以树形视图显示

    配合 top 的非交互模式还可以做资源快照(用于日志/告警脚本):

    top -b -n 1 | head -n 20   # 单次快照,输出前 20 行

    六、htop 实用技巧

  • 自定义显示:F2 进入设置,可以增删仪表(比如加一个 Network 网络流量条)、改变配色、调整列顺序,配置会保存在 ~/.config/htop/htoprc;
  • 结合其他工具定位瓶颈:htop 只能看 CPU/内存,磁盘 I/O 慢用 iostat/iotop,网络异常用 nettop/ss,一起用才是完整排障链;
  • VPS 上的青色 CPU(steal):看到 CPU 条有大片青色,说明你的 VPS 被宿主机上的邻居"抢"了 CPU,这是超售的表现,可以直接找商家理论或换机;
  • 僵尸进程排查:树形视图下状态为 Z 的进程就是僵尸进程,一般是父进程没有正确回收,找出父进程重启即可。
  • 七、htop vs 其他监控方案

  • 想看历史趋势、要告警:用 Prometheus + Grafana 或自带面板;
  • 只看当前实时状态:htop 足够;
  • 多台服务器统一监控:哪吒探针、Uptime Kuma 等。
  • 总结:htop 安装简单、上手零门槛,是 Linux 服务器排障的"第一眼工具"。记住三个高频操作——按 P 看谁吃 CPU、按 M 看谁吃内存、选中 F9 杀进程,日常运维就够用了。建议装完顺手把 F2 里的 Network 仪表加上,一屏看全资源更爽。


    手机扫码阅读

    微信或手机浏览器扫一扫,随时随地随心阅读与分享

    Xshell 与 FinalShell 连接服务器完整教程:SSH密钥登录、SFTP文件上传与常见报错解决

    Oracle Cloud 甲骨文云永久免费VPS注册与搭建教程:ARM 4C24G 实例与防回收指南

    评 论
    更换验证码