目录

1) nvtop:GPU 版 htop(多卡 + 进程级 GPU 占用)

1.1 安装与启动(常用发行版)

2) nvtop 主界面:每个模块是什么意思?

2.1 顶部:GPU 设备信息栏(Device Header)

2.2 中部:GPU 指标曲线区(Charts / Graphs)

2.3 下部:GPU 进程列表(Process Table)

2.4 底部:快捷键栏(常用交互)

3) htop:系统进程/CPU/内存的交互式任务管理器

3.1 安装与启动

4) htop 主界面:每个模块是什么意思?

4.1 顶部:资源仪表盘(Meters 区)

4.2 中部:进程列表(Process List)

4.3 底部:功能键菜单(最常用的一排)

4.4 “Tab 切换页面”:看 I/O(磁盘读写谁在搞事)

5) 实战建议:训练/部署怎么“双开”最爽?


很多同学第一次上服务器排查资源占用,会在 topnvidia-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 是否打爆、进程树是谁拉起的

你会明显感觉排障从“猜谜游戏”变成“读仪表盘”。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐