nvtop:当 nvidia-smi 不够直观时,这个开源 GPU 监视器给了一个 htop 风格的答案
nvtop 是一个基于 ncurses 的开源 GPU 任务监视器,为 NVIDIA/AMD/Intel 多厂商 GPU 提供 htop 风格的交互式 TUI 界面。实时显示 GPU 利用率、显存占用、温度、功耗和进程列表,支持键盘排序、筛选和终止进程。适合深度学习训练监控、多 GPU 服务器管理和 GPU 应用调优。
一句话简介
nvtop 是一个基于 ncurses 的开源 GPU 任务监视器,支持 NVIDIA/AMD/Intel 三大厂商 GPU,提供 htop 风格的交互式 TUI。实时显示 GPU 利用率、显存、温度、功耗和进程列表,支持键盘排序、筛选和终止进程。适合深度学习训练监控、多 GPU 服务器管理。
GitHub:github.com/Syllo/nvtop
核心亮点
- 🖥️ htop 风格交互界面:实时彩色柱状图和进程表格,方向键选择、F9 终止进程
- 🔌 NVIDIA + AMD + Intel 三厂支持:同一界面同时显示不同厂商 GPU 状态
- 📊 进程级 GPU 占用明细:PID、用户、利用率、显存占用量一目了然
- ⚙️ 键盘全操作:排序、筛选、终止进程全快捷键,适合 SSH 远程管理
- 📝 配置文件驱动:颜色、刷新率通过 nvtop.conf 控制,多机器间可复制
功能详解
多厂商 GPU 统一视图
NVIDIA 通过 NVML 获取最全指标,AMD 依赖 rocm-smi(利用率/显存/温度),Intel 依赖 intel-gpu-tools。在同一屏幕上同时查看不同厂商 GPU——nvidia-smi 做不到。
进程级资源追踪
实时显存柱状图直观展示每个进程的占用。选中进程按快捷键直接 kill,不需要切终端。深度学习实验卡住了→定位显存最高进程→一键终止,3 秒搞定。
自定义配置
配置文件 ~/.config/nvtop/nvtop.conf,可调 GPU 选择(-d)、刷新延迟(-i)、颜色主题等。命令行和配置文件叠加使用。
轻量级资源占用
C + ncurses 构建,无 Electron 套壳。监控 8 块 GPU 时 CPU 占用通常低于 1%。
安装/使用教程
Debian/Ubuntu
sudo apt update && sudo apt install nvtop
Fedora
sudo dnf install nvtop
Arch Linux
sudo pacman -S nvtop
从源码编译
git clone https://github.com/Syllo/nvtop.git
cd nvtop && mkdir build && cd build
cmake .. -DNVIDIA_SUPPORT=ON -DAMD_SUPPORT=ON -DINTEL_SUPPORT=ON
make && sudo make install
环境依赖
AMD GPU 需 rocm-smi,Intel GPU 需 intel-gpu-tools。某些系统需 sudo 权限。
适用场景
- 深度学习训练监控:PyTorch/TensorFlow 训练时实时看 GPU 利用率,识别 CPU/IO 瓶颈
- 多 GPU 服务器管理:管理员一目了然谁在用哪些 GPU、谁占用过多显存
- GPU 程序调试:CUDA/ROCm 开发时观察利用率和显存曲线
- 游戏与图形应用调优:Linux 游戏/3D 渲染时监控 GPU 温度和帧缓冲
- Docker 容器 GPU 监控:宿主机上即可看到容器内进程的 GPU 使用情况
类似工具对比
| 维度 | nvtop | nvidia-smi | radeontop | gpustat |
|---|---|---|---|---|
| 价格 | 免费开源 | 免费(驱动自带) | 免费开源 | 免费开源 |
| 支持 GPU | NVIDIA/AMD/Intel | 仅 NVIDIA | 仅 AMD | 仅 NVIDIA |
| 界面 | 交互式 TUI | 静态文本 | TUI | 单行文本 |
| 进程管理 | ✅ 排序/筛选/终止 | ✅ 列表 | ❌ | ❌ |
| 持久化 | ✅ 实时刷新 | ❌ 需循环调用 | ✅ 实时 | ✅ watch 配合 |
| AMD 支持 | 中 | N/A | 中 | N/A |
| 适用 | 日常监控+交互 | 脚本+精确查询 | AMD 专用 | 快速概览 |
常见问题 FAQ
Q: nvtop 和 nvidia-smi 用哪个?
不冲突。日常盯着用 nvtop(实时/直观/可交互),写脚本用 nvidia-smi(格式稳定/可解析)。单机单卡 nvidia-smi 可能够了,多台多卡 nvtop 体验更好。
Q: AMD/Intel GPU 支持怎么样?
不如 NVIDIA 全面。NVIDIA 通过 NVML 可显示全套指标,AMD/Intel 依赖各自工具包,通常利用率/显存/温度没问题,功耗和风扇转速可能不可用。
Q: Docker 容器里能用吗?
宿主机运行 nvtop 就能看到容器进程的 GPU 使用情况。容器内运行需 --gpus all 并挂载相关库。
Q: 性能开销大吗?
很小。C + ncurses,监控 8 块 GPU 时 CPU 低于 1%。刷新间隔建议 500-1000ms,太低可能让 SSH 卡顿。
Q: 能远程监控吗?
nvtop 本身不支持远程。但 SSH 到服务器运行 nvtop 就是"远程监控"——TUI 的优势就在这。
相关推荐
- Elmer FEM:开源多物理场仿真引擎 — FEM 重度依赖 GPU 加速
- JDiskReport:数据存储审计利器 — 训练数据集存储管理
- Fossil SCM:全栈式版本控制 — DL 项目代码和大文件版本管理
推荐资源
KDE PIM:KDE Plasma 原生个人信息管理套件,KMail 深度 PGP 加密 + Akonadi 统一离线搜索
KDE PIM 是 KDE Plasma 桌面环境内置的个人信息管理套件,通过 Kontact 统一界面整合 KMail(邮件)、KOrganizer(日历/任务)、KAddressBook(联系人)和 Akregator(RSS 阅读器),由 Akonadi 数据后端统一驱动。KMail 对 OpenPGP/SMIME 加密的支持是桌面邮箱中最深的——原生内置无需插件。支持离线全文搜索、CalDAV/CardDAV 同步 Google 和 Nextcloud。适合 KDE Plasma 用户和重视本地化管理的效率党。
Postman 开源替代品横评:Bruno、Hoppscotch、Insomnia 怎么选
Postman 近年强推云同步和强制登录,越来越多开发者开始寻找替代品。本文实测三款主流开源 API 客户端——Bruno(Git 原生、离线优先,API 请求存为 .bru 纯文本文件)、Hoppscotch(浏览器即用、实时协作)和 Insomnia/Insomnium(功能最全面、有插件市场)——帮你根据团队规模和工作流选出最合适的方案。
AuthPass:兼容 KeePass kdbx 格式的跨平台开源密码管理器,Flutter 构建 + WebDAV 同步 + 内置 OTP
AuthPass 是一款基于 Flutter 构建的现代开源密码管理器,原生兼容 KeePass kdbx 3/4 格式,覆盖 Windows/macOS/Linux/Android/iOS/Web 全平台。支持 AES/ChaCha20 加密保护密码库、WebDAV 同步到 Nextcloud/ownCloud 自托管服务器、内置 TOTP 一次性密码生成器和自动填充功能。如果你已有 KeePass 数据库想换个现代界面,或需要 iOS/Web 端访问密码库,AuthPass 是免费方案里平台覆盖最广的选择。注意尚未通过独立第三方安全审计。
Pick Color Picker:几十KB的轻量级 Linux 屏幕取色工具,支持 RGB/HEX/HSL 多格式一键输出
Pick Color Picker 是 Stuart Langridge 开发的一款 Linux 原生屏幕颜色拾取工具,仅几十 KB 大小。鼠标悬停像素即显示放大视图和 HEX/RGB/HSL 颜色值,一键复制到剪贴板。适合前端开发、Linux 桌面主题定制和 UI 设计时快速取色。注意项目自 2017 年停更,Wayland 环境可能不兼容——建议 Xorg 用户使用。
Open Interpreter:在本地跑 LLM 执行代码,没有文件限制、不上传数据到云端的开源 Code Interpreter 替代
Open Interpreter 是一个开源命令行工具,让大语言模型(LLM)在你的本地电脑上安全执行 Python、JavaScript、Shell 等代码。你可以把它理解为本地版的 ChatGPT Code Interpreter——没有 100MB 文件大小限制、不需要上传数据到云端、支持通过 Ollama/LM Studio 使用本地开源模型。安装只需 pip install open-interpreter,一条命令启动交互式终端。适合需要 AI 辅助本地自动化、数据分析和编程的开发者。
Flycast:免费开源世嘉 Dreamcast/Naomi/Atomiswave 模拟器,支持 Vulkan 高分辨率渲染与网络联机
Flycast 是一款免费开源的跨平台世嘉 Dreamcast、Naomi 和 Atomiswave 模拟器,支持 Windows/macOS/Linux/Android/iOS/Web。提供 Vulkan 高分辨率渲染、即时存档、宽屏补丁、作弊码和点对点网络联机功能。Dreamcast 游戏兼容性极高,Naomi/Atomiswave 街机仍在持续优化。适合想在现代设备上重温《莎木》《索尼克大冒险》《灵魂能力》等经典的复古游戏玩家。
GSConnect:把 Android 手机无缝接入 GNOME 桌面,通知/剪贴板/文件全同步
GSConnect 是一个 GNOME Shell 扩展,通过实现 KDE Connect 协议在 Linux 桌面和 Android 手机之间实现通知同步、剪贴板双向共享、无线文件传输和远程控制。核心卖点:与 GNOME Shell 深度集成,无需安装任何 Qt/KDE 依赖库,所有数据通过本地 Wi-Fi 加密传输,不经过第三方服务器。适合使用 GNOME 桌面 + Android 手机的 Linux 用户。
Sigil:免费开源 EPUB 编辑器,代码级控制电子书排版,正则批量替换几千处只需几秒
Sigil 是一款免费开源的 EPUB 电子书编辑器,提供 WYSIWYG 和代码双视图编辑。支持 EPUB 2/3 标准,内置 EpubCheck 验证,PCRE 正则跨文件批量查找替换,Python 插件系统可扩展。适合需要对 EPUB 内部结构做精细控制的作者、编辑和技术人员。Windows/macOS/Linux 全平台。
GPT4All:把大模型装进口袋——在你自己电脑上零门槛跑开源 LLM
GPT4All 是一款由 Nomic AI 开发的开源工具,允许用户在个人电脑上本地运行开源 LLM,支持 Windows、macOS 和 Linux。提供直观的桌面应用和 Python/C++ API,适合关注隐私、需要离线 AI 能力的开发者和普通用户。核心卖点:所有计算在本地完成,对话数据不会离开你的电脑,支持 GGUF 格式的多种开源模型,从 1.5B 到 70B+ 参数均可通过 GPU 加速或 CPU 纯跑。
Godot Engine:MIT 协议下的全能游戏引擎——从 2D 独立游戏到 3D 商业项目
Godot Engine 是一款完全免费开源的跨平台游戏引擎,采用 MIT 协议,无授权费、无版税、无导出限制。内置 Python 风格的 GDScript、C#、和 GDExtension (C++) 三种编程方式,核心是独特的“节点系统”架构。它的 2D 能力在同类中一流,Godot 4 版本引入 Vulkan 渲染后 3D 能力追赶中。适合独立游戏开发者、小型团队、Game Jam 参赛者,以及对商业引擎许可费用敏感的开发者。核心卖点:Dome Keeper、Halls of Torment 等爆款独立游戏均用 Godot 开发,已经是经过商业验证的工具。
💬 评论