nvtop & htop:Linux 资源监控的“双持神器”(含界面模块逐块解读 + 截图解释)
目录
1) nvtop:GPU 版 htop(多卡 + 进程级 GPU 占用)
2.1 顶部:GPU 设备信息栏(Device Header)
2.2 中部:GPU 指标曲线区(Charts / Graphs)
2.3 下部:GPU 进程列表(Process Table)
4.4 “Tab 切换页面”:看 I/O(磁盘读写谁在搞事)
很多同学第一次上服务器排查资源占用,会在 top、nvidia-smi、日志之间来回横跳。更顺手的组合其实是:
-
htop:盯 CPU / 内存 / 进程树 / I/O(系统全局)
-
nvtop:盯 GPU / 显存 / GPU 进程(训练/推理现场)
它们都属于 终端交互式监控工具(TUI),不是“库”。但你把它们当“工具库”也没毛病:装上就能打。😄
1) nvtop:GPU 版 htop(多卡 + 进程级 GPU 占用)
nvtop 全称 Neat Videocard TOP,定位就是“像 htop 一样看 GPU/加速器”,能显示多 GPU,并以 htop 风格展示 GPU 指标和进程列表。官方 README 还列了支持的厂商/驱动范围(AMD/Intel/NVIDIA 等)。
1.1 安装与启动(常用发行版)
Ubuntu/Debian:
sudo apt install nvtop
Fedora(36+):
sudo dnf install nvtop
Arch:
sudo pacman -S nvtop
启动:
nvtop
2) nvtop 主界面:每个模块是什么意思?

下面按“从上到下”拆开讲:顶栏 → 曲线区 → 进程表 → 快捷键栏。配合你自己的截图对照,会非常直观。
2.1 顶部:GPU 设备信息栏(Device Header)
nvtop 顶部会按 GPU 分块显示设备信息(你会看到类似 Device 0 / Device 1)——典型字段包括:
-
GPU 型号/显存规格(比如 GTX 1060 6GB)
-
PCIe 信息(例如 PCIe Gen、链路宽度)
-
RX/TX:PCIe 收发速率(主机与 GPU 的数据传输情况)
-
GPU / MEM 频率:核心频率、显存频率
-
TEMP / FAN / PWR:温度、风扇、功耗(当前/上限)
-
显存占用:已用 / 总量(GiB)
这些字段在 nvtop 的示例界面里都能看到(含 RX/TX、TEMP、FAN、PWR、MEM 等)。
【图2】nvtop 顶部 Device 信息栏![]()
2.2 中部:GPU 指标曲线区(Charts / Graphs)
中间通常是两块(或多块)曲线区域:用来显示随时间变化的 GPU 指标。
在 nvtop 的设置界面里,你可以勾选要画哪些指标。官方示例的可选项包括(不同硬件/驱动可用项会略有差异):
-
GPU utilization rate(GPU 利用率)
-
GPU memory utilization rate(显存利用率)
-
GPU encoder / decoder rate(编解码占用)
-
GPU temperature(温度)
-
Power draw(功耗)
-
Fan speed(风扇)
-
GPU clock / GPU memory clock(频率)
并且提示 每张 GPU 图里最多显示 4 个指标。
【图3】nvtop 曲线区

2.3 下部:GPU 进程列表(Process Table)
曲线下面是最“训练党最爱”的部分:谁在用 GPU、用了多少、是什么类型。
在 nvtop 示例界面里,常见列包括:
-
PID:进程号
-
DEV:占用哪张 GPU(Device index)
-
TYPE:进程类型(常见如 Graphic / Compute)
-
GPU:该进程的 GPU 占用百分比
-
ENC:编码占用(如果你在做视频编解码/推流会很关键)
-
GPU MEM:该进程占用显存量
-
CPU:该进程 CPU 占用
-
HOST MEM:该进程主机内存占用
-
Command:启动命令(定位是谁起的训练/服务一眼就够)
【图4】nvtop 进程表

2.4 底部:快捷键栏(常用交互)
nvtop 常见快捷键(示例界面底栏能看到):
-
F2 Setup:打开设置界面(官方也明确写了按 F2 进入 setup) (GitHub)
-
F6 Sort:排序
-
F9 Kill:结束进程
-
F10 Quit:退出
-
F12 Save Config:保存配置(官方说明按 F12 保存偏好,下次自动加载) (GitHub)
【图5】nvtop 设置界面(F2)
3) htop:系统进程/CPU/内存的交互式任务管理器
htop 的核心是:更好用的 top。它支持在界面里搜索、过滤、树状展示、排序、甚至对进程执行操作。
官方 man page 里列了大量交互按键:比如 F2 进入设置,F3 搜索,F4 过滤,F5 树状,F6 排序,F9 kill,F10 退出等。
3.1 安装与启动
sudo apt install htop # Debian/Ubuntu
sudo dnf install htop # Fedora
sudo pacman -S htop # Arch
brew install htop # macOS Homebrew
启动:
htop
4) htop 主界面:每个模块是什么意思?
【图6】htop 主界面
4.1 顶部:资源仪表盘(Meters 区)
htop 顶部是“仪表盘”,常见包括:
-
每核 CPU 条/图
-
Mem / Swap
-
Load Average / Tasks / Uptime(不同配置展示略有差异)
这块叫 meters,可以在 F2 Setup 里自定义要显示哪些 meters、怎么排版。 (man7.org)
【图7】htop 顶部 Meters
4.2 中部:进程列表(Process List)
这里是 htop 的主体:一行一个进程,列可自定义/排序。
常见列含义(名字可能因配置不同略有差异):
-
PID:进程号
-
USER:属主用户
-
PRI / NI:优先级 / nice 值
-
VIRT / RES / SHR:虚拟内存 / 常驻内存 / 共享内存
-
S:进程状态(R 运行、S 休眠等)
-
%CPU / %MEM:CPU、内存占比
-
TIME+:累计 CPU 时间
-
Command:启动命令
排序:F6 打开排序字段选择;树状:F5。 (man7.org)
【图8】htop 进程列表

4.3 底部:功能键菜单(最常用的一排)
htop 底部会提示常用按键(不同版本显示可能略不同,但核心一致):
-
F1 Help
-
F2 Setup(配置 meters / columns / 配色等)
-
F3 Search(搜索进程)
-
F4 Filter(过滤进程,man page 也提到可用
|分隔多个过滤词) (man7.org) -
F5 Tree(进程树)
-
F6 SortBy(排序)
-
F9 Kill(发信号)
-
F10 Quit(退出)
4.4 “Tab 切换页面”:看 I/O(磁盘读写谁在搞事)
很多人不知道:htop 还能切到 I/O 相关页面。
-
man page 里说明 Tab / Shift-Tab 可以切换屏幕 tab。
-
Lubuntu 手册也提到:按 Tab 可以查看磁盘读写(并可通过相关列定位到 PID/USER/读写量)。
5) 实战建议:训练/部署怎么“双开”最爽?
-
一个终端开 nvtop:盯显存、GPU 利用率、是否有“幽灵进程”占卡
-
一个终端开 htop:盯 CPU/内存、DataLoader 是否把 CPU 拉满、I/O 是否打爆、进程树是谁拉起的
你会明显感觉排障从“猜谜游戏”变成“读仪表盘”。
更多推荐




所有评论(0)