nvtop
nvtop 是一款专为 GPU 及各类加速卡设计的实时监控工具,其名称意为“清爽的显卡顶栏”。它借鉴了 Linux 系统中经典的 htop 任务管理器界面,能够以直观、熟悉的图表形式,同时展示多张显卡的运行状态与进程详情。
对于需要频繁调度算力资源的用户而言,nvtop 解决了传统监控手段分散、信息不直观的痛点。无论是查看显存占用、温度变化,还是追踪具体是哪个进程在消耗算力,它都能一目了然地呈现,帮助用户快速定位性能瓶颈或异常占用情况。
这款工具非常适合 AI 开发者、深度学习研究人员、系统运维工程师以及任何需要在 Linux 环境下管理异构计算资源的专业人士。其最大的技术亮点在于广泛的硬件兼容性:不仅完美支持 NVIDIA 和 AMD 主流显卡,还涵盖了 Intel、华为昇腾、高通 Adreno 乃至苹果 M 系列芯片等多种加速器,真正实现了“一套工具监控全家桶”。此外,nvtop 内置交互式配置界面,用户可轻松自定义显示指标并保存偏好,让监控视图完全贴合个人需求。
使用场景
某 AI 实验室的算法工程师正在一台配备多张 NVIDIA 和 AMD 显卡的服务器上,同时调试大语言模型训练任务与推理服务。
没有 nvtop 时
- 监控盲区:原生
nvidia-smi无法识别混用的 AMD 显卡,工程师需切换不同命令才能查看全貌,极易遗漏异构资源状态。 - 定位困难:当显存爆满时,只能看到总量占用,无法直接关联到具体是哪个进程(如僵尸训练任务)在恶意占用资源。
- 交互低效:缺乏类似
htop的实时动态刷新与交互式排序功能,排查问题时需反复手动刷新终端,响应滞后。 - 配置繁琐:每次查看不同指标(如温度、功耗、编码利用率)都需要添加复杂参数,无法保存个性化视图供团队复用。
使用 nvtop 后
- 统一视界:nvtop 在一个界面内同时展示 NVIDIA、AMD 乃至 Intel 等多厂商加速器状态,彻底消除异构计算环境的监控死角。
- 精准溯源:界面直接列出占用 GPU 的具体进程名、PID 及显存细节,工程师可一键定位并终止异常进程,秒级释放资源。
- 实时洞察:提供类
htop的流畅动态图表与历史曲线,支持按键即时排序和筛选,让负载波动与性能瓶颈一目了然。 - 个性定制:通过内置设置窗口(F2)灵活调整显示列并保存偏好(F12),团队成员均可快速获得最适合当前调试场景的监控面板。
nvtop 将碎片化的硬件监控整合为直观的统一仪表盘,极大提升了多卡异构环境下的故障排查效率与资源调度能力。
运行环境要求
- Linux
- macOS
- 非必需,支持多厂商 GPU/加速器
- NVIDIA 需 Kepler 架构及以上(如 GeForce 600+)
- AMD 需 Linux amdgpu 驱动
- Intel 需 i915/Xe 驱动
- Apple 仅限 M1/M2 (Metal)
- 其他支持华为 Ascend、Qualcomm Adreno 等
- 无具体显存大小要求
未说明

快速开始
NVTOP
什么是 NVTOP?
NVTOP 是“Neat Videocard TOP”的缩写,它是一个类似于 htop 的 GPU 和加速器任务监控工具。它可以管理多个 GPU,并以 htop 熟悉的方式显示相关信息。
目前支持的厂商包括:AMD(Linux amdgpu 驱动)、Apple(有限的 M1 和 M2 支持)、华为(Ascend)、英特尔(Linux i915/Xe 驱动)、英伟达(Linux 专有驱动)、高通 Adreno(Linux MSM 驱动)、博通 VideoCore(Linux v3d 驱动)、瑞芯微、MetaX(MXSML 驱动)、Enflame(Linux EFML 驱动)。
因为一张图胜过千言万语:

目录
NVTOP 选项和交互命令
交互式设置窗口
NVTOP 内置了一个设置工具,允许你根据自己的需求定制界面。只需按下 F2 键,然后选择最适合你的选项即可。

保存偏好设置
你可以通过按 F12 键来保存在设置窗口中所做的偏好设置。下次运行 nvtop 时,这些设置将会被加载。
NVTOP 手册及命令行选项
NVTOP 自带一个手册页!
man nvtop
如需快速查看命令行参数帮助:
nvtop -h
nvtop --help
GPU 支持情况
AMD
NVTOP 支持使用 amdgpu 驱动的 AMD GPU,通过暴露的 DRM 和 sysfs 接口实现。
AMD 在内核 5.14 中引入了 fdinfo 接口(浏览内核源码)。因此,你需要一个版本大于或等于 5.14 的内核,才能看到正在使用 AMD GPU 的进程。
对于较新的 GPU,相关支持会定期合并到 Linux 内核中,所以请确保使用足够新版本的内核以兼容你的 GPU。
英特尔
NVTOP 支持使用 i915 或 xe Linux 驱动的 Intel GPU。
Intel 在内核 5.19 中引入了 fdinfo 接口(浏览内核源码)。因此,你需要一个版本大于或等于 5.19 的内核,才能看到正在使用 Intel GPU 的进程。
Intel 要求具备 CAP_PERFMON 或 CAP_SYS_ADMIN 权限才能访问总内存使用量。你可以运行 sudo setcap cap_perfmon=ep nvtop 来授予必要的权限,或者以 root 用户身份运行 nvtop。
英伟达
NVML 库 不支持 Kepler 微架构之前的某些 GPU 查询。从 GeForce 600、GeForce 800M 及其后续型号开始,应该都能正常工作。有关支持的 GPU 详情,请参阅 NVML 文档。
Adreno
NVTOP 支持使用 msm Linux 驱动的 Adreno GPU。
msm 在内核 6.0 中引入了 fdinfo 接口(浏览内核源码)。因此,你需要一个版本大于或等于 6.0 的内核,才能看到正在使用 Adreno GPU 的进程。
Apple
NVTOP 包含对 Apple Metal 的初步支持。此功能仅在为 Apple 构建时可用,且仅在此情况下才支持 Apple 厂商。
APPLE 支持状态
- Apple 支持仍在开发中。可能存在一些 bug 和限制。
Ascend
NVTOP 通过 DCMI API(版本 6.0.0)支持 Ascend(测试于 Altas 800 (910B))。
目前,DCMI 仅支持有限的 API,缺少 PCIe 代数、tx/rx 吞吐量信息、最大功耗等数据。
VideoCore
NVTOP 支持 VideoCore(测试于树莓派 4B)。
支持 GPU 频率、温度、利用率、每个进程的利用率、GPU 内存使用情况以及 H264 解码利用率。
在非树莓派操作系统上,你需要使用 linux-rpi 6.12.y 及以上版本的内核,并确保存在 /dev/vcio 设备。
Rockchip
NVTOP 支持 Rockchip(测试于 orangepi 5 plus)。
支持 NPU 频率、温度和利用率。
MetaX
NVTOP 通过 MXSML 库支持 MetaX(测试于 MXC500)。
有关 GPU 的更多信息,请参阅 METAX 文档。
Enflame
NVTOP 通过 EFML 库支持 Enflame GCU(测试于 Enflame S60、Enflame L300 和 Enflame L600)。
GCU,即通用计算单元,是一种加速卡,用于执行与 GPGPU 类似的通用计算任务。
构建
为了使 NVTOP 能够显示 GPU 信息,需要以下几项库:
- 用于驱动用户界面的 ncurses 库。
- 这使得屏幕看起来更加美观。
- 对于英伟达:随 GPU 驱动一起提供的 NVIDIA 管理库(NVML)。
- 该库用于查询 GPU 信息。
- 对于 AMD:用于通过内核驱动程序查询 AMD GPU 的 libdrm 库。
- 对于 METAX:随 GPU 驱动一起提供的 MetaX 系统管理库(MXSML)。
- 该库用于查询 GPU 信息。
- 对于 Enflame:随 GCU 驱动一起提供的 Enflame 管理库(EFML)。
发行版特定安装流程
Ubuntu / Debian
如果您的发行版提供了 snap 工具,请按照 snap 安装流程 获取最新版本的 nvtop。
此外,还提供了一个独立的应用程序,格式为 AppImage。
Ubuntu Focal (20.04)、Debian buster (稳定版) 及更新版本
sudo apt install nvtop
Ubuntu PPA
由 Quentin Lienhardt 提供了一个支持 Ubuntu 20.04 及更高版本的 PPA,其中包含针对 NVIDIA、AMD 和 Intel 的最新版 nvtop。
sudo add-apt-repository ppa:quentiumyt/nvtop
sudo apt install nvtop
较旧版本
AMD 和 Intel 的依赖项:
sudo apt install libdrm-dev libsystemd-dev # Ubuntu 18.04 sudo apt install libudev-devNVIDIA 的依赖项:
- NVIDIA 驱动程序(请参阅 Ubuntu Wiki 或 Ubuntu PPA 或 Debian Wiki)
NVTOP 的依赖项:
- CMake、ncurses 和 Git
sudo apt install cmake libncurses5-dev libncursesw5-dev gitNVTOP:
- 按照 NVTOP 构建步骤 进行编译
Fedora / Red Hat / CentOS
同样提供一个独立的应用程序,格式为 AppImage。
Fedora 36 及更高版本
sudo dnf install nvtop
Red Hat Enterprise Linux 8 和 9
sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-$(rpm -E %{rhel}).noarch.rpm sudo dnf install nvtop
CentOS Stream、Rocky Linux、AlmaLinux
sudo dnf install -y epel-release sudo dnf install nvtop
Fedora / Red Hat / CentOS 的构建流程:
AMD 和 Intel 的依赖项:
sudo dnf install libdrm-devel systemd-develNVIDIA 的依赖项:
- NVIDIA 驱动程序,需要 CUDA 才能使用 nvml 库(请参阅 RPM Fusion)
NVTOP 的依赖项:
- CMake、ncurses、C++ 和 Git
sudo dnf install cmake ncurses-devel git gcc-c++NVTOP:
- 按照 NVTOP 构建步骤 进行编译
OpenSUSE
同样提供一个独立的应用程序,格式为 AppImage。
OpenSUSE 的构建流程:
AMD 的依赖项:
sudo zypper install libdrm-develNVIDIA 的依赖项:
- NVIDIA 驱动程序(请参阅 SUSE 支持数据库)
NVTOP 的依赖项:
- CMake、ncurses 和 Git
sudo zypper install cmake ncurses-devel gitNVTOP:
- 按照 NVTOP 构建步骤 进行编译
Arch Linux
sudo pacman -S nvtop
Gentoo
sudo emerge -av nvtop
AppImage
AppImage 是一种独立的应用程序。只需下载 AppImage 文件,将其设置为可执行文件并运行即可!
前往 发布页面 下载
nvtop-x86_64.AppImage# 切换到下载目录 ** 路径可能因系统而异 ** cd $HOME/Downloads # 将 AppImage 设置为可执行文件 chmod u+x nvtop-x86_64.AppImage # 享受 nvtop ./nvtop-x86_64.AppImage
如果您想了解其工作原理,请访问 AppImage 官网。
Snap
snap install nvtop # 添加在 nvtop 中终止进程的能力 snap connect nvtop:process-control # 添加查看 GPU 信息(风扇、PCIe、功耗等)的能力 snap connect nvtop:hardware-observe # 支持 AMDGPU 进程列表(读取 /proc/<pid>) snap connect nvtop:system-observe # 临时解决方案,用于获取每个进程的 GPU 使用情况(读取 /proc/<pid>/fdinfo) snap connect nvtop:kubernetes-support
注意:上述连接命令允许
Conda-forge
已经有一个 conda-forge 对 nvtop 的配方。
conda / mamba / miniforge
conda install --channel conda-forge nvtop
pixi
pixi global install nvtop
Docker
NVIDIA 驱动程序(同上)
git clone https://github.com/Syllo/nvtop.git && cd nvtop sudo docker build --tag nvtop . sudo docker run -it --rm --runtime=nvidia --gpus=all --pid=host nvtop
NVTOP 构建步骤
git clone https://github.com/Syllo/nvtop.git
mkdir -p nvtop/build && cd nvtop/build
cmake .. -DNVIDIA_SUPPORT=ON -DAMDGPU_SUPPORT=ON -DINTEL_SUPPORT=ON
make
# 全局安装到系统中
sudo make install
# 或者,在您选择的目录下无权限安装
# cmake .. -DNVIDIA_SUPPORT=ON -DAMDGPU_SUPPORT=ON -DINTEL_SUPPORT=ON -DCMAKE_INSTALL_PREFIX=/path/to/your/dir
# make
# make install
如果您使用 conda 作为环境管理器,并在构建 NVTOP 时遇到错误,请在调用 cmake 之前尝试运行 conda deactivate。
构建系统支持多种构建类型(例如 -DCMAKE_BUILD_TYPE=RelWithDebInfo):
- Release:不包含调试信息的二进制文件
- RelWithDebInfo:包含调试信息的二进制文件
- Debug:启用警告标志以及地址和未定义行为 sanitizers 的编译版本(用于开发目的)
故障排除
- 图表显示异常:
- 确保已安装宽字符版本的 ncurses 库(Debian / Ubuntu 的 libncursesw5-dev),清理构建目录后重新开始构建。
- Putty:通过在菜单“Connection > Data > Terminal Details”中将“Terminal-type string”设置为“putty”,告诉 Putty 不要谎报其终端能力($TERM)。
许可证
NVTOP 采用 GPLv3 许可证或更高版本进行授权。 许可证副本可在仓库的 COPYING 文件中找到,也可在 GNU 官网上查阅:<www.gnu.org/licenses/>。
版本历史
3.3.22026/02/083.3.12026/01/183.3.02026/01/163.2.02025/03/293.1.02024/02/233.0.22023/06/113.0.12022/11/063.0.02022/10/232.0.42022/10/022.0.32022/08/262.0.22022/06/112.0.12022/04/102.0.02022/04/041.2.22021/07/241.2.12021/05/271.1.02020/12/031.0.02019/01/090.3.12018/11/220.3.02018/11/210.2.32018/09/12常见问题
相似工具推荐
gemini-cli
gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。
markitdown
MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器
ML-For-Beginners
ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。
openai-cookbook
openai-cookbook 是 OpenAI 官方提供的一套实用代码示例与指南合集,旨在帮助开发者快速上手并掌握 OpenAI API 的核心用法。面对大模型应用中常见的提示词工程、函数调用、数据嵌入及复杂任务编排等挑战,新手往往难以找到标准化的实现路径。openai-cookbook 通过提供经过验证的代码片段和详细教程,有效解决了“如何从零开始构建应用”以及“如何最佳实践特定功能”的痛点。 这套资源主要面向软件开发者和 AI 技术研究人员,同时也适合希望深入理解大模型能力的技术爱好者。虽然示例代码主要以 Python 编写,但其背后的设计思路和技术逻辑具有通用性,可轻松迁移至其他编程语言。其独特亮点在于内容紧跟官方最新特性更新,覆盖了从基础文本生成到高级代理(Agent)构建的全场景需求,且所有示例均支持在本地环境直接运行调试。作为开源项目,它采用宽松的 MIT 许可证,鼓励社区贡献与二次开发,是学习大模型应用开发不可或缺的实战手册。
gstack
gstack 是 Y Combinator CEO Garry Tan 亲自开源的一套 AI 工程化配置,旨在将 Claude Code 升级为你的虚拟工程团队。面对单人开发难以兼顾产品战略、架构设计、代码审查及质量测试的挑战,gstack 提供了一套标准化解决方案,帮助开发者实现堪比二十人团队的高效产出。 这套配置特别适合希望提升交付效率的创始人、技术负责人,以及初次尝试 Claude Code 的开发者。gstack 的核心亮点在于内置了 15 个具有明确职责的 AI 角色工具,涵盖 CEO、设计师、工程经理、QA 等职能。用户只需通过简单的斜杠命令(如 `/review` 进行代码审查、`/qa` 执行测试、`/plan-ceo-review` 规划功能),即可自动化处理从需求分析到部署上线的全链路任务。 所有操作基于 Markdown 和斜杠命令,无需复杂配置,完全免费且遵循 MIT 协议。gstack 不仅是一套工具集,更是一种现代化的软件工厂实践,让单人开发者也能拥有严谨的工程流程。
OpenHands
OpenHands 是一个专注于 AI 驱动开发的开源平台,旨在让智能体(Agent)像人类开发者一样理解、编写和调试代码。它解决了传统编程中重复性劳动多、环境配置复杂以及人机协作效率低等痛点,通过自动化流程显著提升开发速度。 无论是希望提升编码效率的软件工程师、探索智能体技术的研究人员,还是需要快速原型验证的技术团队,都能从中受益。OpenHands 提供了灵活多样的使用方式:既可以通过命令行(CLI)或本地图形界面在个人电脑上轻松上手,体验类似 Devin 的流畅交互;也能利用其强大的 Python SDK 自定义智能体逻辑,甚至在云端大规模部署上千个智能体并行工作。 其核心技术亮点在于模块化的软件智能体 SDK,这不仅构成了平台的引擎,还支持高度可组合的开发模式。此外,OpenHands 在 SWE-bench 基准测试中取得了 77.6% 的优异成绩,证明了其解决真实世界软件工程问题的能力。平台还具备完善的企业级功能,支持与 Slack、Jira 等工具集成,并提供细粒度的权限管理,适合从个人开发者到大型企业的各类用户场景。