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 项目代码和大文件版本管理
推荐资源
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 是免费方案里平台覆盖最广的选择。注意尚未通过独立第三方安全审计。
Open Interpreter:在本地跑 LLM 执行代码,没有文件限制、不上传数据到云端的开源 Code Interpreter 替代
Open Interpreter 是一个开源命令行工具,让大语言模型(LLM)在你的本地电脑上安全执行 Python、JavaScript、Shell 等代码。你可以把它理解为本地版的 ChatGPT Code Interpreter——没有 100MB 文件大小限制、不需要上传数据到云端、支持通过 Ollama/LM Studio 使用本地开源模型。安装只需 pip install open-interpreter,一条命令启动交互式终端。适合需要 AI 辅助本地自动化、数据分析和编程的开发者。
ArgyllCMS:当显示器「骗」了你的眼睛,这个开源色彩管理工具能帮你找回真实
ArgyllCMS 是一套开源的命令行色彩管理系统,用于显示器校准、ICC 配置文件创建和设备特性化。支持 X-Rite、Datacolor 等主流品牌色度计和分光光度计,可在 Windows/macOS/Linux 上运行。内置 profcheck 验证工具可量化校准精度(Delta E < 1.0),支持生成 LUT 型 ICC 和 3D LUT 配置文件。适合需要精确色彩控制的摄影师、视频调色师和印刷从业者。
GSConnect:把 Android 手机无缝接入 GNOME 桌面,通知/剪贴板/文件全同步
GSConnect 是一个 GNOME Shell 扩展,通过实现 KDE Connect 协议在 Linux 桌面和 Android 手机之间实现通知同步、剪贴板双向共享、无线文件传输和远程控制。核心卖点:与 GNOME Shell 深度集成,无需安装任何 Qt/KDE 依赖库,所有数据通过本地 Wi-Fi 加密传输,不经过第三方服务器。适合使用 GNOME 桌面 + Android 手机的 Linux 用户。
Flycast:免费开源世嘉 Dreamcast/Naomi/Atomiswave 模拟器,支持 Vulkan 高分辨率渲染与网络联机
Flycast 是一款免费开源的跨平台世嘉 Dreamcast、Naomi 和 Atomiswave 模拟器,支持 Windows/macOS/Linux/Android/iOS/Web。提供 Vulkan 高分辨率渲染、即时存档、宽屏补丁、作弊码和点对点网络联机功能。Dreamcast 游戏兼容性极高,Naomi/Atomiswave 街机仍在持续优化。适合想在现代设备上重温《莎木》《索尼克大冒险》《灵魂能力》等经典的复古游戏玩家。
Worker:当 Midnight Commander 不够强时,这个双面板文件管理器把配置做到了极致
Worker 是一款适用于 X11 环境的高度可配置双面板文件管理器。其核心特点是将几乎所有行为——快捷键、鼠标操作、文件关联、右键菜单、自定义按钮——全部开放为可编辑的文本配置文件。内建 Actions 系统支持绑定外部脚本(Shell/Python/Perl),实现一键批量重命名、格式转换、打包解压等复杂操作。适合追求效率和深度定制的 Linux/Unix 高级用户。
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(功能最全面、有插件市场)——帮你根据团队规模和工作流选出最合适的方案。
Pick Color Picker:几十KB的轻量级 Linux 屏幕取色工具,支持 RGB/HEX/HSL 多格式一键输出
Pick Color Picker 是 Stuart Langridge 开发的一款 Linux 原生屏幕颜色拾取工具,仅几十 KB 大小。鼠标悬停像素即显示放大视图和 HEX/RGB/HSL 颜色值,一键复制到剪贴板。适合前端开发、Linux 桌面主题定制和 UI 设计时快速取色。注意项目自 2017 年停更,Wayland 环境可能不兼容——建议 Xorg 用户使用。
Smuxi:从分离式 IRC 客户端到"始终在线"聊天工具的架构遗产
Smuxi 是一个受 irssi 启发的 GNOME 多协议 IRC 客户端,核心特色是分离式客户端/服务器架构——后台 smuxi-server 保持与 IRC 网络持久连接,前端 GUI 可随时断开重连而不丢失消息。虽然项目已停止维护,但其架构理念对理解现代"始终在线"聊天工具的设计模式仍有参考价值。
💬 评论