You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取NVIDIA GPU详细使用率指标?

可用的细粒度GPU指标采集方案

你提到的工具适配性问题是GPU性能监控里的普遍痛点:Nsight Compute是面向单内核的指令级精度调优工具,设计目标就不是全流程常规监控,运行时开销极高;DLProf目前已经停止迭代,且指标定义模糊,参考价值有限。可以根据使用场景选择以下几类轻量、指标定义明确的工具:

  • DCGM(NVIDIA Data Center GPU Manager)
    NVIDIA官方面向生产环境推出的常驻监控工具,R450及以上版本驱动支持的消费级、数据中心级GPU都可使用,运行时开销不到1%,完全适配常规指标采集场景。可输出的核心细粒度指标包括:SM(流多处理器)实际活跃占比、各精度计算单元(FP16/FP32/FP64/Tensor Core等)的活动时间占比、显存带宽实际利用率、PCIe/NVLink双向实时吞吐、各级缓存命中率、功耗/温度墙触发时长占比、视频编解码单元占用率等,所有指标均有明确定义,采样间隔可自定义到10ms级别,是目前生产环境GPU监控的首选方案。可直接通过dcgmi dmon命令行获取滚动采样数据,也支持对接常规监控系统。

  • nvidia-smi 内置守护监控模式
    无需额外安装组件,装完NVIDIA驱动即可直接使用,执行nvidia-smi dmon即可启动滚动采样,可输出SM占用率、显存读写带宽、编解码单元占用、不同计算管线活动率等指标,运行开销几乎为0,适合临时快速排查场景。缺点是指标粒度比DCGM粗,无法获取计算单元细分、缓存命中率这类深度指标。

    注意:不要把默认查询输出的utilization.gpu和该模式下的SM占用率混淆:前者只要采样周期内有任意1个kernel在运行就会计为占用,哪怕GPU实际计算负载极低也可能显示100%;后者统计的是SM上实际执行计算的时间占比,更接近日常语境里的“GPU计算负载”。

  • 深度学习框架内置Profiler
    如果需要把GPU指标和上层业务逻辑(比如神经网络训练流程)做关联,可以直接使用框架自带的性能分析工具,比如PyTorch的torch.profiler、TensorFlow的tf.profiler。这类工具的运行开销远低于Nsight Compute,常规训练任务开启后性能损失通常在10%以内,除了基础的GPU硬件指标,还可以定位到每个算子的执行时长、CPU调度等待耗时、显存实际占用、Tensor Core启用比例等信息,能够直接定位到导致GPU负载虚高的具体代码段。

需要说明的是,不存在能同时满足“零运行开销、指令级分析精度、支持全流程常驻监控”的工具,建议按场景区分选择:日常常驻监控用DCGM,临时快速排查用nvidia-smi dmon,定位代码层面的性能瓶颈用框架内置Profiler,只有需要做单算子极致性能优化时再使用Nsight Compute。

内容的提问来源于stack exchange,提问作者gebbissimo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 22:30:57