开源 GPU 监控库完整汇总(按编程语言、场景、生态分类)底层硬件采集 SDK(开发调用)、终端交互式工具、Prometheus 时序监控 Exporter、集群调度管理套件、Windows 全硬件监控、嵌入式边缘 GPU 专用工具、桌面可视化面板7 大类,区分 NVIDIA/AMD/Intel 跨平台适配、核心能力、适用场景、源码地址,兼顾二次开发与直接运维使用。
开源 GPU 监控 & 管理库 / 工具全景梳理
分为底层硬件采集 SDK(开发调用)、终端交互式工具、Prometheus 时序监控 Exporter、集群调度管理套件、Windows 全硬件监控、嵌入式边缘 GPU 专用工具、桌面可视化面板7 大类,区分 NVIDIA/AMD/Intel 跨平台适配、核心能力、适用场景、源码地址,兼顾二次开发与直接运维使用。
一、底层原生采集 SDK(用于二次开发、程序内嵌入 GPU 监控逻辑)
1. NVIDIA 生态底层 SDK
-
NVML(NVIDIA Management Library)
- 形态:C 语言二进制库(驱动自带
nvml.dll/libnvidia-ml.so,接口文档公开),nvidia-smi 底层依赖 - 可采集:GPU 利用率、显存、功耗、温度、PCIe、风扇、进程显存、MIG、故障报错、时钟频率
- 主流开源绑定:
- Python:
pynvmlhttps://github.com/gpuopenanalytics/pynvml - Go:
go-nvmlhttps://github.com/NVIDIA/go-nvml - Rust:
nvml-wrapper
- Python:
- 适用:算力调度、容器 GPU 限额、训练任务异常告警
- 形态:C 语言二进制库(驱动自带
-
DCGM(Data Center GPU Manager)SDK
- 定位:NVML 企业级增强,面向 A100/H100/H200 数据中心 GPU
- 能力:长时间遥测、硬件故障预判、GPU 隔离、集群性能调优、MIG 精细化管控
- 开源组件:dcgm-exporter(时序采集),官方提供 C/Rust/Python SDK
2. AMD 开源底层 SDK
-
ROCm SMI Lib(rocm_smi_lib)
- 完全开源 C 库,AMD 官方维护,适配 Radeon 消费卡、MI210/MI250/MI300 计算卡
- 指标:GPU 负载、VRAM、SOC 功耗、VDD 电压、XGMIB 互联带宽、功耗墙配置
- 配套 CLI:
rocm-smi,Python 封装直接调用
-
libdrm(Direct Rendering Manager)Linux 内核态开源驱动接口,radeontop 底层依赖,无 ROCm 驱动也可读取 AMD GPU 硬件寄存器,适合轻量化嵌入式 AMD 显卡。
3. Intel GPU 开源采集库
igt-gpu-tools(libigt)
Freedesktop 开源项目,Linux 下 Intel Arc、Iris Xe 核显唯一原生开源采集库
采集:EU 阵列利用率、渲染 / 编码引擎负载、显存、功耗、GPU 时钟
命令行入口:
intel_gpu_top4. 跨厂商统一封装 SDK
- GPUtil(Python)
极简封装,自动兼容 N 卡 / A 卡 / Intel,一键获取 GPU 编号、显存占用、使用率,仅基础指标,无功耗温度
python
运行
import GPUtil
gpu_list = GPUtil.getGPUs()
- LibreHardwareMonitorLib(.NET)
Windows 平台万能硬件采集库,C# 可直接引用 DLL,全品牌 GPU 传感器(温度、功耗、风扇、电压、显存全覆盖),Windows 桌面程序首选。
二、终端交互式 GPU 监控工具(服务器 SSH 直接使用,轻量化)
-
nvtopC 语言开源,跨 NVIDIA/AMD/Intel,终端版 GPU 任务管理器,彩色可视化、进程绑定 GPU、显存实时曲线仓库:https://github.com/Syllo/nvtop优势:一键编译部署,无额外依赖,运维排查首选
-
radeontopAMD Linux 专用终端监控,基于 libdrm,无 ROCm 依赖,查看 GPU 核心、显存、视频编码负载仓库:https://github.com/clbr/radeontop
-
jtopNVIDIA Jetson(Nano/Xavier/Orin)专用终端监控,CPU/GPU/DRAM/Codec/ 功耗 / 温度一体化监控,配套 Python SDK仓库:https://github.com/rbonghi/jetson_stats
-
nvidia-smi-draw基于 pynvml 的终端绘图面板,自定义刷新频率,适合服务器常驻监控窗口。
三、Prometheus Exporter(云原生集群监控,对接 Grafana 大盘)
全部开源,用于 GPU 集群、K8s 容器 GPU 时序指标存储、告警配置
-
dcgm-exporter【NVIDIA 集群首选】NVIDIA 官方开源,指标粒度最细,支持 MIG、GPU 错误计数、长时间性能曲线https://github.com/NVIDIA/dcgm-exporter
-
nvidia-gpu-exporter轻量化 NVML 采集器,部署简单,适合小规模 GPU 服务器
-
amdgpu-exporter基于 rocm-smi-lib,AMD 计算卡 Prometheus 指标导出https://github.com/hatamiarash7/amdgpu-exporter
-
-
gpu-metrics-exporter大一统多显卡融合 Exporter,同时采集 N/A/I 三家 GPU 指标,统一指标名
四、GPU 集群管理 & 调度开源套件(监控 + 调度一体化)
-
GPU Manager(NVIDIA k8s-device-plugin)K8s 开源 GPU 设备插件,实现 GPU 卡虚拟化调度、显存限额、容器 GPU 绑定,附带基础监控上报https://github.com/NVIDIA/k8s-device-plugin
-
Slurm + GPU 插件HPC 超算集群主流调度,搭配
slurm-gpu-plugin实现 GPU 节点状态监控、任务 GPU 独占分配 -
GPUShare开源 GPU 分时复用管理,多任务共享单 GPU,附带负载监控与任务隔离
-
dstack开源 AI 算力编排平台,内置 GPU 节点监控、任务日志、资源使用率大盘
五、Windows 平台开源 GPU 监控工具(桌面 / Windows 服务器)
-
LibreHardwareMonitor.NET 开源,GPU+CPU + 硬盘全传感器监控,可后台运行导出 JSON/CSV 数据,支持二次开发调用库https://github.com/LibreHardwareMonitor/LibreHardwareMonitor
-
OpenHardwareMonitor老牌开源硬件监控,LibreHardwareMonitor 前身,轻量化静态编译版本
-
GPU-Z-SensorReader(开源 GPU-Z 替代采集)读取 Windows 显卡 WMI 传感器,获取显卡功耗、温度、显存。
六、嵌入式边缘 GPU 开源监控(瑞芯微 Mali、Jetson、地平线)
-
jetson-stats(Jetson 全系列)Jetson SoC 专用,GPU+VIC+NVENC+CPU + 电源一体化监控、功耗限制配置
-
rk-gpu-monitor瑞芯微 RK3588/RK3566 Mali GPU 负载监控,读取 GPU 时钟、利用率https://github.com/rockchip-linux/mali-driver
-
horizon-monitor地平线 BPU+GPU 联合监控工具,边缘 AI 盒子硬件状态采集
七、Linux 桌面 GUI 可视化 GPU 监控(可视化面板、超频、风扇曲线)
-
-
GPU-Viewer跨厂商显卡可视化仪表盘,同时展示 N/A/I 显卡运行参数
-
Mission CenterRust 编写系统监控桌面工具,集成 GPU 实时负载图表
八、选型参考表
| 使用场景 | 最优开源工具 / 库 | 核心理由 |
|---|---|---|
| AI 训练集群、HPC 超算监控 | dcgm-exporter + Grafana | 指标完备、硬件故障预警、适配 MIG 虚拟化 |
| 单台 Linux 服务器 SSH 排查 | nvtop | 开箱即用终端可视化 |
| Python 程序内嵌 GPU 监控 | pynvml (N 卡)/GPUtil (通用) | 接口简洁,快速集成 |
| AMD Linux 无 ROCm 环境监控 | radeontop | 内核寄存器直读,无驱动依赖 |
| Windows C# 程序读取 GPU 传感器 | LibreHardwareMonitorLib | 全品牌硬件传感器全覆盖 |
| Jetson 边缘设备 | jetson-stats | SoC 异构模块完整监控 |
| K8s 容器 GPU 调度 + 监控 | nvidia-device-plugin | 官方适配,容器 GPU 资源隔离 |
| 嵌入式 RK3588 开发板 | rk-gpu-monitor | Mali GPU 原生适配 |
补充关键说明
- NVIDIA NVML 仅在安装官方驱动后可用,Docker 容器需挂载
nvidia-container-toolkit暴露 NVML 设备; - AMD Windows 无官方开源硬件采集接口,Windows AMD 监控必须依赖 LibreHardwareMonitor/WMI;
- Intel Windows 仅能通过第三方硬件监控库读取传感器,Linux 使用
igt-gpu-tools原生采集; - 所有功耗、温度、风扇属于硬件传感器指标,仅显存 / 使用率采集可使用轻量化 GPUtil 降低依赖。
开源 GPU 监控库完整汇总(按编程语言、场景、生态分类)
覆盖NVIDIA CUDA、AMD ROCm、Intel Arc GPU、跨平台通用、嵌入式 GPU(Jetson、RK3588),区分底层硬件读取库、应用层 SDK、命令行工具绑定、Prometheus 监控采集、桌面可视化组件,标注核心能力、依赖、适用场景、仓库地址。
一、NVIDIA 专属 GPU 监控(生态最成熟)
1. NVML(NVIDIA Management Library,官方原生 C 库)
- 类型:C 语言原生动态库
libnvidia-ml.so/nvml.dll,闭源二进制、调用接口开源文档 - 核心能力:GPU 利用率、显存、功耗、温度、PCIe 带宽、风扇转速、电源限制、ECC 错误、进程显存占用、GPU 拓扑、MIG 切分状态
- 绑定封装(开源):
- Python:
pynvml(最主流) - Go:
github.com/NVIDIA/go-nvml - Rust:
nvml-wrapper - C++:NVML C++ Wrapper
- Python:
- 适用:GPU 服务器监控、训练集群、算力调度、容器内 GPU 状态采集
- 配套工具底层:nvidia-smi 本身基于 NVML 实现
pynvml(Python 最常用 NVML 封装)
python
运行
# 极简示例
from pynvml import *
nvmlInit()
handle = nvmlDeviceGetHandleByIndex(0)
info = nvmlDeviceGetMemoryInfo(handle)
util = nvmlDeviceGetUtilizationRates(handle)
2. NVDIA DCGM(Data Center GPU Manager)
- 定位:NVML 企业级增强版,面向 A100/H100/H200、MIG、故障预警、长时间遥测、GPU 调度
- 开源 SDK:DCGM C API、
dcgm-exporter(Prometheus 采集器,开源) - 仓库:https://github.com/NVIDIA/dcgm-exporter
3. NVML 衍生开源采集组件
- gpu-stat:轻量 Python GPU 状态打印,基于 pynvml
- nvidia_gpu_exporter:Prometheus Exporter,K8s 集群 GPU 监控
二、AMD GPU 开源监控栈(ROCm + libdrm)
1. ROCm SMI /rocm-smi-lib(AMD 官方开源)
- 开源 C 库,AMD 显卡(Radeon、MI250、MI300)硬件指标读取
- 指标:GPU 负载、VRAM、SoC 功耗、VDD、温度、风扇、XGMIB 带宽、GPU 时钟
- Python 绑定:
rocm-smi(自带 CLI)、pyrocm - 仓库:https://github.com/ROCm/rocm_smi_lib
2. libdrm + radeontop(底层开源 Linux AMD GPU 监控)
- radeontop:开源命令行 GPU 监控,基于 libdrm 直接读取 GPU 寄存器,无驱动依赖
- 仓库:https://github.com/clbr/radeontop
- 适用:Linux 桌面 AMD 显卡、无 ROCm 环境显卡监控
3. amdgpu-exporter
Prometheus 导出器,基于 rocm-smi-lib,服务器监控使用
仓库:https://github.com/hatamiarash7/amdgpu-exporter
三、Intel GPU(Arc/Iris/Xe)开源监控库
1. Intel GPU Top(igt-gpu-tools,完全开源)
Linux 下 Intel 核显 / 独显标准工具集,底层
libigt- 能力:GPU EU 利用率、显存、频率、功耗、渲染引擎负载
- 仓库:https://gitlab.freedesktop.org/drm/igt-gpu-tools
- 命令行:
intel_gpu_top
2. intel-gpu-exporter
Prometheus 监控导出器,基于 igt-gpu-tools
仓库:https://github.com/ze0nni/intel-gpu-exporter
四、跨厂商统一 GPU 监控库(N 卡 / A 卡 / Intel 一键兼容)
1. GPUtil(Python,极简跨卡监控)
特点:一行代码获取全部 GPU 基础信息,自动适配 NVML、AMD ROCm、Intel,适合快速脚本开发
- 指标:GPU 序号、显存占用、GPU 使用率、显卡名称
- 短板:无法读取功耗、温度等高级硬件指标
- 仓库:https://github.com/anderskm/gputil
python
运行
import GPUtil
gpus = GPUtil.getGPUs()
2. psutil-gpu /py3nvml + amd 交叉适配
上层封装统一接口屏蔽多厂商差异
3. nvtop(终端可视化监控,C 语言开源)
终端版 GPU 任务管理器,全厂商适配:NVIDIA/AMD/Intel
底层依赖:NVML、ROCm、libdrm、igt-gpu-tools
仓库:https://github.com/Syllo/nvtop
作用:可二次开发嵌入程序做终端看板
4. gpu-info-rs(Rust 跨平台 GPU 硬件枚举)
Rust 库,枚举 GPU 型号、显存、总线,跨 Windows/Linux/macOS
仓库:https://github.com/ribir/gpu-info-rs
五、Prometheus 云原生监控专用 Exporter(生产集群必备)
全部开源,对接 Prometheus+Grafana 做大盘监控
- nvidia-dcgm-exporter(NVIDIA 数据中心卡首选)
- nvidia-gpu-exporter(轻量化 NVML 采集)
- amdgpu-exporter(AMD ROCm 服务器)
- intel-gpu-exporter(Intel Xe/Arc)
- gpu-metrics-exporter(大一统多卡融合)
六、嵌入式边缘 GPU 监控(Jetson、瑞芯微、地平线)
1. Jetson Stats(NVIDIA Jetson 嵌入式)
适配 Jetson Nano/Xavier/Orin,读取 GPU、CPU、DRAM、VIC、功耗、温度
Python 开源库:https://github.com/rbonghi/jetson_stats
配套 API:
jtop命令行 + Python SDK2. RK3588/RK3566 Mali GPU 监控
七、桌面 GUI 可视化开源 GPU 监控(底层基于以上库)
- GreenWithEnvy (GWE):Linux NVIDIA 显卡 GUI 监控 / 超频,pynvml 后端
https://github.com/leinardi/gwe
- GPU-Viewer:跨平台多显卡状态可视化
- Mission Center(Rust):系统总览含 GPU 监控
八、Windows 平台开源 GPU 监控库
- GPU-Z 开源替代:OpenHardwareMonitor
C# 开源硬件监控,包含 GPU(NVIDIA/AMD/Intel)温度、功耗、负载仓库:https://github.com/openhardwaremonitor/openhardwaremonitor
- HWiNFO 开源分支:LibreHardwareMonitor
.NET 开源,最完善 Windows 硬件读取库,支持所有 GPU 传感器https://github.com/LibreHardwareMonitor/LibreHardwareMonitor可通过 C#/C++ 调用 DLL 获取 GPU 指标
九、选型决策表
| 使用场景 | 首选库 | 理由 |
|---|---|---|
| NVIDIA 训练集群、算力调度 | pynvml / DCGM SDK | 指标最全,支持 MIG、进程级显存 |
| AMD MI 系列 GPU 服务器 | rocm-smi-lib | AMD 官方原生支持 |
| 快速 Python 原型开发 | GPUtil | 零配置开箱即用 |
| Linux 终端实时监控 | nvtop | 直观 UI,可嵌入运维脚本 |
| K8s 云原生监控 | DCGM Exporter / amdgpu-exporter | 标准 Prometheus 时序数据 |
| Jetson 嵌入式边缘设备 | jetson-stats | 专用 SoC 全链路监控 |
| Windows 桌面程序 GPU 监控 | LibreHardwareMonitor | 全厂商传感器全覆盖 |
| 跨平台通用 GPU 枚举 | Rust gpu-info-rs | 无重型驱动依赖 |
十、关键补充说明
- NVML 仅在安装 NVIDIA 驱动后可用,容器内部需要挂载
nvidia-container-runtime暴露 NVML 设备; - AMD 无 Windows 原生开源硬件读取接口,Windows AMD 监控依赖 LibreHardwareMonitor;
- Intel 核显在 Windows 只能通过 LibreHardwareMonitor 读取硬件传感器,Linux 使用
igt-gpu-tools; - 所有功耗、温度、风扇属于硬件传感器指标,单纯显存 / 利用率可以用轻量库 GPUtil 实现。
在开源领域,有一些库和工具专门用于 GPU 监控和管理。以下是几个常见的开源 GPU 监控库:
-
ROCm (Radeon Open Compute):
- ROCm 是 AMD 的开源计算平台,支持 GPU 监控和管理。它包括许多工具和库,用于高性能计算和深度学习工作负载。
- 官网链接: ROCm
-
NVIDIA Management Library (NVML):
- NVML 是 NVIDIA 提供的 API 库,用于监控和管理 NVIDIA GPU。虽然 NVML 本身不是开源的,但它可以在开源项目中使用。
- 示例项目: pynvml 是一个 Python 包装器,可以通过 Python 访问 NVML。
-
nvidia-smi:
- nvidia-smi 是 NVIDIA 提供的命令行工具,用于监控和管理 GPU。虽然它本身不是库,但可以通过脚本调用来获取 GPU 信息。
- 可以与 Python 等语言结合使用以编写自定义监控脚本。
-
PyNVML:
- PyNVML 是基于 NVML 的 Python 封装库,用于轻松地在 Python 应用程序中使用 NVML 提供的功能。
- GitHub 项目: pynvml
-
GPUtil:
- GPUtil 是一个简单的 Python 库,用于轻松获取 GPU 统计数据,例如 GPU 使用率、内存使用率等。它利用了 nvidia-smi 命令行工具来获取数据。
- GitHub 项目: GPUtil
-
AMDuProf:
- AMD 的开源用户性能工具,用于分析和调试 AMD GPU 和 CPU 性能。
- 官网链接: AMDuProf
-
GLXOSD:
- GLXOSD 是一个开源的 Linux 工具,用于显示 GPU 和 CPU 的实时性能数据,适用于 OpenGL 和 Vulkan 应用程序。
- GitHub 项目: GLXOSD
-
intel-gpu-tools:
- intel-gpu-tools 是一个开源项目,包含了一组用于调试和测试 Intel 集成 GPU 的工具。
- GitHub 项目: intel-gpu-tools
这些工具和库提供了不同程度的 GPU 监控和管理功能,适用于不同的操作系统和硬件平台。选择合适的工具取决于你具体的硬件需求和开发环境。

浙公网安备 33010602011771号