全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

pod级别GPU监控

最近更新时间:2025-06-09 10:45:51

金山云托管Prometheus服务提供基于msp-dcgm-exporter来监控容器化GPU运行状态,并提供了开箱即用的Grafana监控大盘。本文将介绍如何开启GPU监控,以便了解GPU服务运行状态,及时排查GPU资源故障。

前提条件

Prometheus实例已成功关联待监控的KCE集群,且集群中存在GPU节点。

操作步骤

开启监控

  1. 登录容器服务控制台

  2. 在左侧导航栏中,选择运维管理->Prometheus监控,进入Prometheus监控实例页面。

  3. 选择需要查看的实例,点击左侧的实例ID,进入基本信息页面。

  4. 在左侧导航栏中选择集群监控,进入集群监控页面。

  5. 选择需要查看的集群,点击右侧操作栏的数据采集配置,进入数据采集配置页面。

  6. 点击扩展监控页签,默认情况下msp-dcgm-exporter组件采集配置为关闭状态。开启采集状态,组件将自动安装至用户集群。

查看监控

  1. 登录进入Grafana界面,分别从Node维度和Pod维度提供了Dcgm Exporter的预置大盘。

  2. 单击 Dcgm Exporter / Nodes,通过筛选指定的 cluster、node,可从节点维度查看GPU节点状态,例如节点状态概览、GPU卡信息、内存使用率、温度与能耗信息等。

  3. 单击 Dcgm Exporter / Namespace (pods),通过筛选指定的cluster、namespace、pod、GPU,可从Pod维度查看GPU节点状态,例如该pod所在GPU节点的卡利用率、内存利用率等。

对于存量msp实例,原有Grafana中缺少Dcgm Exporter预置大盘。用户可以手动关闭Grafana后再次重新开启,方可正常查看Dcgm Exporter预置大盘。

面板说明

下面将详细介绍监控大盘中各个监控面板(Panel)的含义。

节点维度监控大盘

Panel组

Panel名称

说明

Overview

Allocated GPUs

表示节点已分配GPU个数和总的GPU个数。

GPU Utilization

表示节点上的GPU的平均利用率,即节点上所有卡的GPU利用率算平均值。

Used GPU Memory

表示节点当前使用的GPU显存值与总的显存值的百分比。

The Last One XID Error

表示节点GPU卡最近出现的XID错误。

Utilization

GPU Utilization

表示节点GPU卡利用率。

Memory Copy Utilization

表示节点GPU卡内存复制利用率。

Encoder Engine Utilization

表示节点GPU卡编码器利用率。

Decoder Engine Utilization

表示节点GPU卡解码器利用率。

Memory and BAR1

GPU Memory Details

表示节点GPU内存信息:

node:node的IP信息

UUID:GPU卡的UUID。

GPU Index:GPU卡索引号。

Used:该卡当前使用的显存。

BAR1 Used

表示已使用BAR1。

Memory Used

表示节点上GPU卡已使用的显存大小。

BAR1 Total

表示总BAR1。

Profiling

SM Occupancy

表示SM占用率。

SM Active

表示SM处于Active的比例。

Tensor Core Engine Active

表示在一个监控周期内,Tensor Core管道(Pipe)处于Active时间占总时间的比例。

FP32 Engine Active

表示在一个监控周期内,FP32管道处于Active的时间占总的时间的比例。

FP16 Engine Active

表示在一个监控周期内,FP16管道处于Active的时间占总的时间的比例。

FP64 Engine Active

表示在一个监控周期内,FP64管道处于Active的时间占总的时间的比例。

Graphics Engine Active

表示在一个监控周期内,Graphics或Compute引擎处于Active的时间占总的时间的比例。

DRAM Active

表示内存带宽利用率(Memory BW Utilization)。

PCIE TX BYTES(Device to Host)

表示节点GPU卡通过PCIe总线传输的数据速率。

PCIE RX BYTES(Host to Device)

表示节点GPU卡通过PCIe总线接收的数据速率。

NVLINK TX/RX BYTES

表示通过NVLink传输或接收的数据速率。

Temperature and Energy

Power Usage

表示节点GPU卡的功率。

Total Energy Consumption

表示GPU卡从驱动加载开始,总共消耗的能量。单位为焦耳。

Memory Temperature

表示节点GPU内存温度。

GPU Temperature

表示节点GPU温度(计算单元)。

Clock

SM CLOCK

表示SM时钟频率。

Memory Clock

表示内存频率。

APP SM Clock

表示SM应用的时钟频率。

APP Memory Clock

表示应用的内存频率。

Video Clock

表示Video引擎频率。

Clock Throttle Reasons

表示降频原因。

Retired Pages

Retired Pages(Single-bit Errors)

表示因单比特错误引发的停用的内存页面数。

Retired Pages(Double-bit Error)

表示因双比特错误引发的停用的内存页面数。

Violation

POWER VIOLATION

表示因功率上限导致的违规。该值为违规的时间,单位为微秒。

THERMAL VIOLATION

表示因热限制导致的违规。该值为违规的时间,单位为微秒。

BOARD RELIABILITY VIOLATION

表示因电路板可靠性限制导致的违规。该值为违规的时间,单位为微秒。

LOW UTIL VIOLATION

表示因低利用率限制导致的违规。该值为违规的时间,单位为微秒。

SYNC BOOST VIOLATION

表示因同步提升限制导致的违规。该值为违规的时间,单位为微秒。

BOARD LIMIT VIOLATION

表示因电路板限制导致的违规。该值为违规的时间,单位为微秒。

Pod维度监控大盘

Panel组

Panel名称

说明

Utilization

GPU Utilization

表示pod调度所在的GPU卡利用率。

Memory Copy Utilization

表示pod调度所在的GPU卡内存复制利用率。

Encoder Engine Utilization

表示pod调度所在的GPU卡编码器利用率。

Decoder Engine Utilization

表示pod调度所在的GPU卡解码器利用率。

Memory and BAR1

BAR1 Used

表示已使用BAR1。

Memory Used

表示节点上GPU卡已使用的显存大小。

BAR1 Total

表示总BAR1。

GPU Memory Used Percentage

表示内存利用率

Profiling

SM Occupancy

表示SM占用率。

SM Active

表示SM处于Active的比例。

Tensor Core Engine Active

表示在一个监控周期内,Tensor Core管道(Pipe)处于Active时间占总时间的比例。

FP32 Engine Active

表示在一个监控周期内,FP32管道处于Active的时间占总的时间的比例。

FP16 Engine Active

表示在一个监控周期内,FP16管道处于Active的时间占总的时间的比例。

FP64 Engine Active

表示在一个监控周期内,FP64管道处于Active的时间占总的时间的比例。

Graphics Engine Active

表示在一个监控周期内,Graphics或Compute引擎处于Active的时间占总的时间的比例。

DRAM Active

表示内存带宽利用率(Memory BW Utilization)。

PCIE TX BYTES(Device to Host)

表示节点GPU卡通过PCIe总线传输的数据速率。

PCIE RX BYTES(Host to Device)

表示节点GPU卡通过PCIe总线接收的数据速率。

NVLINK TX/RX BYTES

表示通过NVLink传输或接收的数据速率。

Temperature and Energy

Power Usage

表示节点GPU卡的功率。

Total Energy Consumption

表示GPU卡从驱动加载开始,总共消耗的能量。单位为焦耳。

Memory Temperature

表示节点GPU内存温度。

GPU Temperature

表示节点GPU温度(计算单元)。

Clock

SM CLOCK

表示SM时钟频率。

Memory Clock

表示内存频率。

APP SM Clock

表示SM应用的时钟频率。

APP Memory Clock

表示应用的内存频率。

Video Clock

表示Video引擎频率。

Clock Throttle Reasons

表示降频原因。

指标说明

下面将详细介绍 msp-dcgm-exporter支持的各指标含义。

利用率(Utilization)

指标名称

指标类型

单位

说明

DCGM_FI_DEV_GPU_UTIL

Gauge

%

表示GPU利用率,即在一个周期时间内(1s或1/6s,根据GPU产品而定),一个或多个核函数处于Active的时间。

该指标仅能够展示有核函数在用的GPU资源,但无法展示具体的使用情况。

DCGM_FI_DEV_MEM_COPY_UTIL

Gauge

%

表示内存带宽利用率。

以英伟达GPU V100为例,其最大内存带宽为900 GB/sec,如果当前的内存带宽为450 GB/sec,则内存带宽利用率为50%。

DCGM_FI_DEV_ENC_UTIL

Gauge

%

表示编码器利用率。

DCGM_FI_DEV_DEC_UTIL

Gauge

%

表示解码器利用率。

内存(Memory)

指标名称

指标类型

单位

说明

DCGM_FI_DEV_FB_FREE

Gauge

MiB

表示帧缓存(Framebuffer Memory)剩余数。

帧缓存一般也被称为显存。

DCGM_FI_DEV_FB_USED

Gauge

MiB

表示帧缓存已使用数。

该值与nvidia-smi命令中Memory-Usage的已使用值对应。

剖析(Profiling)

指标名称

指标类型

单位

说明

DCGM_FI_PROF_GR_ENGINE_ACTIVE

Gauge

%

表示在一个时间间隔内,Graphics或Compute引擎处于Active的时间占比。

该值表示所有Graphics和Compute引擎的平均值。

Graphics或Compute引擎处于Active是指Graphics或Compute Context绑定到线程,并且Graphics或Compute Context处于Busy状态。

DCGM_FI_PROF_SM_ACTIVE

Gauge

%

表示在一个时间间隔内,至少一个线程束在一个SM(Streaming Multiprocessor)上处于Active的时间占比。

该值表示所有SM的平均值,且该值对每个块的线程数不敏感。

线程束处于Active是指一个线程束被调度且分配资源后的状态,可能是在Computing、也可能是非Computing状态(例如等待内存请求)。

该值小于0.5表示未高效利用GPU,大于0.8是必要的。

假设一个GPU有N个SM:

一个核函数在整个时间间隔内使用N个线程块运行在所有的SM上,此时该值为1(100%)。

一个核函数在一个时间间隔内运行N/5个线程块,此时该值为0.2。

一个核函数使用N个线程块,在一个时间间隔内,仅运行了1/5个周期的时间,此时该值为0.2。

DCGM_FI_PROF_SM_OCCUPANCY

Gauge

%

表示在一个时间间隔内,驻留在SM上的线程束与该SM最大可驻留线程束的比例。

该值表示一个时间间隔内的所有SM的平均值。

占用率越高不代表GPU使用率越高。只有在GPU内存带宽受限的工作负载(DCGM_FI_PROF_DRAM_ACTIVE)情况下,更高的占用率表示更有效的GPU使用率。

DCGM_FI_PROF_PIPE_TENSOR_ACTIVE

Gauge

%

表示Tensor(HMMA/IMMA) Pipe处于Active状态的周期分数。

该值表示一个时间间隔内的平均值,而不是瞬时值。

较高的值表示Tensor Cores的利用率较高。

该值为1(100%)表示在整个时间间隔内每隔一个指令周期发出一个Tensor指令(两个周期完成一条指令)。

假设该值为0.2(20%),可能有如下情况:

在整个时间间隔内,有20%的SM的Tensor Core以100%的利用率运行。

在整个时间间隔内,有100%的SM的Tensor Core以20%的利用率运行。

在整个时间间隔的1/5时间内,有100%的SM上的Tensor Core以100%利用率运行。

DCGM_FI_PROF_PIPE_FP64_ACTIVE

Gauge

%

表示FP64(双精度)Pipe处于Active状态的周期分数。

该值表示一个时间间隔内的平均值,而不是瞬时值。

较高的值代表FP64 Cores有较高的利用率。

该值为 1(100%)表示在整个时间间隔内上每四个周期(以Volta类型卡为例)执行一次FP64指令。

假设该值为0.2(20%),可能有如下情况:

在整个时间间隔内,有20%的SM的FP64 Core以100%的利用率运行。

在整个时间间隔内,有100%的SM的FP64 Core以20%的利用率运行。

在整个时间间隔的1/5时间内,有100%的SM上的FP64 Core以100%利用率运行。

DCGM_FI_PROF_PIPE_FP32_ACTIVE

Gauge

%

表示乘加操作FMA(Fused Multiply-Add)管道处于Active的周期分数,乘加操作包括FP32(单精度)和整数。

该值表示一个时间间隔内的平均值,而不是瞬时值。

较高的值代表FP32 Cores有较高的利用率。

该值为1(100%)表示在整个时间间隔内上每两个周期(Volta类型卡为例)执行一次FP32指令。

假设该值为0.2(20%),可能有如下情况:

在整个时间间隔内,有20%的SM的FP32 Core以100%的利用率运行。

在整个时间间隔内,有100%的SM的FP32 Core以20%的利用率运行。

在整个时间间隔的1/5时间内,有100%的SM上的FP32 Core以100%利用率运行。

DCGM_FI_PROF_PIPE_FP16_ACTIVE

Gauge

%

表示FP16(半精度)管道处于Active的周期分数。

该值表示一个时间间隔内的平均值,而不是瞬时值。

较高的值代表FP16 Cores有较高的利用率。

该值为 1 (100%) 表示在整个时间间隔内上每两个周期(Volta类型卡为例)执行一次FP16指令。

假设该值为0.2(20%),可能有如下情况:

在整个时间间隔内,有20%的SM的FP16 Core以100%的利用率运行。

在整个时间间隔内,有100%的SM的FP16 Core以20%的利用率运行。

在整个时间间隔的1/5时间内,有100%的SM上的FP16 Core以100%利用率运行。

DCGM_FI_PROF_DRAM_ACTIVE

Gauge

%

表示内存带宽利用率(Memory BW Utilization)是将数据发送到设备内存或从设备内存接收数据的周期分数。

该值表示时间间隔内的平均值,而不是瞬时值。

较高的值表示设备内存的利用率较高。

该值为1(100%)表示在整个时间间隔内的每个周期执行一条 DRAM 指令(实际上,峰值约为 0.8 (80%) 是可实现的最大值)。

假设该值为0.2(20%),表示20%的周期在时间间隔内读取或写入设备内存。

DCGM_FI_PROF_PCIE_TX_BYTES

Counter

B/s

表示通过PCIe总线传输/接收的数据速率,包括协议标头和数据有效负载。

DCGM_FI_PROF_PCIE_RX_BYTES

该值表示一个时间间隔内的平均值,而不是瞬时值。

该速率在时间间隔内平均。例如,在1秒内传输1 GB数据,则无论以恒定速率还是突发传输数据,速率都是1 GB/s。理论上的最大PCIe Gen3带宽为每通道985 MB/s。

DCGM_FI_PROF_NVLINK_RX_BYTES

Counter

B/s

表示通过NVLink传输/接收的数据速率,不包括协议标头。

DCGM_FI_PROF_NVLINK_TX_BYTES

该值表示一个时间间隔内的平均值,而不是瞬时值。

该速率在时间间隔内平均。例如,在1秒内传输1 GB数据,则无论以恒定速率还是突发传输数据,速率都是1 GB/s。理论上,最大NVLink Gen2带宽为每个方向每个链路25 GB/s。

DCGM_FI_DEV_PCIE_REPLAY_COUNTER

counter

GPU PCIe 总线的重试次数。

DCGM_FI_DEV_NVLINK_BANDWIDTH_TOTAL

counter

-

GPU 所有通道的 NVLink 带宽计数器总数。

频率(Clock)

指标名称

指标类型

单位

说明

DCGM_FI_DEV_SM_CLOCK

Gauge

MHz

表示SM时钟频率。

DCGM_FI_DEV_MEM_CLOCK

Gauge

MHz

表示内存时钟频率。

DCGM_FI_DEV_APP_SM_CLOCK

Gauge

MHz

表示SM应用时钟频率。

DCGM_FI_DEV_APP_MEM_CLOCK

Gauge

MHz

表示内存应用时钟频率。

DCGM_FI_DEV_CLOCK_THROTTLE_REASONS

Gauge

MHz

表示时钟频率降低的原因。

DCGM_FI_DEV_VIDEO_CLOCK

Gauge

MHz

GPU 视频编解码时钟频率

XID错误&违规行为(XidError & Violations)

指标名称

指标类型

单位

说明

DCGM_FI_DEV_XID_ERRORS

Gauge

-

表示一段时间内,最后发生的XID错误号。

DCGM_FI_DEV_POWER_VIOLATION

Counter

μs(微秒)

表示因功率上限而导致的违规,该值为违规的时间。

DCGM_FI_DEV_THERMAL_VIOLATION

Counter

μs(微秒)

表示由于热限制导致的违规,该值为违规的时间。

DCGM_FI_DEV_SYNC_BOOST_VIOLATION

Counter

μs(微秒)

表示由于同步提升限制而导致的违规,该值为违规的时间。

DCGM_FI_DEV_BOARD_LIMIT_VIOLATION

Counter

μs(微秒)

表示由于电路板限制而导致的违规,该值为违规的时间。

DCGM_FI_DEV_LOW_UTIL_VIOLATION

Counter

μs(微秒)

表示低利用率限制导致的违规,该值为违规的时间。

DCGM_FI_DEV_RELIABILITY_VIOLATION

Counter

μs(微秒)

表示电路板可靠性限制导致违规,该值为违规的时间。

BAR1

指标名称

指标类型

单位

说明

DCGM_FI_DEV_BAR1_USED

Gauge

MB

表示已使用的BAR1。

DCGM_FI_DEV_BAR1_FREE

Gauge

MB

表示剩余的BAR1。

DCGM_FI_DEV_BAR1_TOTAL

Gauge

MB

表示总 BARI 容量

温度&功率(Temperature & Power)

指标名称

指标类型

单位

说明

DCGM_FI_DEV_MEMORY_TEMP

Gauge

C

表示内存温度。

DCGM_FI_DEV_GPU_TEMP

Gauge

C

表示GPU温度。

DCGM_FI_DEV_POWER_USAGE

Gauge

W

表示功率。

DCGM_FI_DEV_TOTAL_ENERGY_CONSUMPTION

Counter

J

表示从驱动加载开始,已消耗的能量。

停用的内存页面(Retired Pages)

指标名称

指标类型

单位

说明

DCGM_FI_DEV_RETIRED_SBE

Gauge

-

表示由单比特错误(Single Bit Error)而停用的页面。

DCGM_FI_DEV_RETIRED_DBE

Gauge

-

表示由双比特错误(Double Bit Error)而停用的页面。

其他(Others)

指标名称

指标类型

单位

说明

DCGM_FI_DEV_UNCORRECTABLE_REMAPPED_ROWS

Counter

-

因无法纠正的错误而重新映射的行数。

DCGM_FI_DEV_CORRECTABLE_REMAPPED_ROWS

Counter

-

因可纠正的错误而重新映射的行数。

DCGM_FI_DEV_ROW_REMAP_FAILURE

Gauge

-

重新映射行是否失败。

DCGM_FI_DEV_VGPU_LICENSE_STATUS

Gauge

-

vGPU 许可证状态

DCGM_FI_DEV_COUNT

Counter

节点上的 GPU 设备数量

注意事项

  1. 监控服务默认GPU上报资源名称为nvidia.com/gpu,若有自定义修改GPU资源上报名称的需求,则需手动配置msp-dcgm-exporter.env,添加nvidia-resource-names指明自定义gpu资源名称,方可成功采集到pod级别指标。

文档导读
纯净模式常规模式

纯净模式

点击可全屏预览文档内容
文档反馈