监控面板说明

GPU监控基于Exporter+Prometheus+Grafana体系打造更为丰富的GPU监控场景。本文介绍监控大盘中各个监控面板(Panel)的含义。

Panel介绍

GPU监控包含集群GPU监控-集群维度集群GPU监控-节点维度以及集群GPU监控-应用Pod维度。监控大盘的具体说明如下:

集群GPU监控-集群维度

Panel名称

说明

Total GPU Nodes

表示集群(或节点池)总的GPU节点数。

Allocated GPUs

表示集群(或节点池)总的GPU数以及已分配的GPU数。

Allocated GPU Memory

表示集群(或节点池)已分配的显存占总的显存的百分比。

Used GPU Memory

表示集群(或节点池)正在使用的显存占总的显存的百分比。

Average GPU Utilization

表示集群(或节点池)的平均利用率。

GPU Memory Copy Utilization

表示集群(或节点池)的平均内存复制利用率。

The Last one XID Error

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

GPU Node Details

表示集群中GPU节点的信息,包括:

  • Node Name:节点名称。

  • GPU Index:节点上的GPU索引号。

  • GPU Utilization:GPU卡的利用率。

  • GPU Memory Copy Utilization:内存拷贝利用率。

  • Used GPU Memory:正在使用的显存大小。

  • Allocated GPU Memory:已分配显存占总显存的比例。

  • Total GPU Memory:总显存大小。

  • Power:当前功率。

  • GPU Temperature:GPU温度。

  • GPU Memory Temperature: GPU显存温度。

集群GPU监控-节点维度

Panel

Panel名称

说明

Overview

GPU Mode

表示GPU模式,包括Exclusive、ShareNone。

  • Exclusive:独占模式,按卡的维度申请GPU资源。

  • Share:共享模式,按显存和算力维度申请GPU资源。

  • None:当前节点上无GPU应用在运行。一个节点可以在独占和共享模式之间切换,当不运行GPU程序时,无法探测该节点开启独占或共享模式。

NVIDIA Driver Version

表示节点所安装的GPU驱动版本。

Allocated GPUs

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

GPU Utilization

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

Allocated GPU Memory

表示节点已分配的GPU显存值与总的显存值的百分比。

Used GPU Memory

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

Allocated Computing Power(Valid in GPU Sharing)

表示节点已分配的算力(共享GPU调度且申请算力调度时生效)。

The Last One XID Error

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

Utilization

GPU Utilization

表示节点GPU卡利用率。

GPU Memory Copy Utilization

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

Encoder Engine Utilization

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

Decoder Engine Utilization

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

Memory & BAR1

GPU Memory Details

表示节点GPU内存信息:

  • UUID:GPU卡的UUID。

  • GPU Index:GPU卡索引号。

  • Mode Name:卡型号。

  • Used Percentage:GPU内存使用百分比。

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

  • Allocated:已分配显存与总的显存比例。

  • Total:该卡总的显存。

BAR1 Used

表示已使用BAR1。

GPU Memory Used

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

BAR1 Total

表示总BAR1。

GPU Process

GPU Process Details

节点上GPU线程详细信息:

  • Pod Namespace:Process所属的Pod命名空间。

  • Pod Name:Process所属的Pod名称。

  • Container Name:Process所属的容器名称。

  • Allocate Mode:Process所属的Pod以哪种方式申请GPU资源,包括独占和共享方式。

  • Process Id:ProcessID号。

  • Process Name:Process名称。

  • Process Type:Process类型,包括计算类(C)和图形(G)类任务。

  • GPU Index:Process在哪张GPU卡上运行。

  • Used Memory:Process使用的GPU显存。

  • SM Utilization:ProcessSM利用率。

  • Memory Copy Utilization:内存复制利用率。

  • Decode Utilization:解码器利用率。

  • Encode Utilization:编码器利用率。

Illegal GPU Process(GPU request not by k8s resources.limits) Details

非法的GPU进程(GPU请求未遵循Kubernetes资源限制)详情。将显示以如下方式申请的GPU进程:

  • 直接在节点上运行GPU应用。

  • 通过docker run命令直接启动容器运行GPU应用。

  • Podenv中直接添加环境变量NVIDIA_VISIBLE_DEVICES=allNVIDIA_VISIBLE_DEVICES=<GPU ID>等,通过环境变量NVIDIA_VISIBLE_DEVICES直接为Pod申请GPU资源,并且运行了GPU程序。

  • PodsecurityContext中配置privileged: true,并且运行了GPU程序。

  • Pod中未设置环境变量NVIDIA_VISIBLE_DEVICES,但Pod所使用的镜像在制作时,默认配置环境变量NVIDIA_VISIBLE_DEVICES=all,并且运行了GPU程序。

Profiling

Graphics Engine Active

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

DRAM Active

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

SM Active

表示SM处于Active的比例。

SM Occupancy

表示SM占用率。

Tensor Core Engine Active

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

FP32 Engine Active

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

FP16 Engine Active

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

FP64 Engine Active

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

PCIE TX Bytes(Device to Host)

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

PCIE RX Bytes(Host to Device)

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

NVLINK TX Bytes

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

NVLINK RX Bytes

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

Temperature & Energy

Power Usage

表示节点GPU卡的功率。

Toal Energy Consumption(in J)

表示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 Errors)

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

Violation

Power Violation

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

Thermal Violation

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

Sync Boost Violation

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

Board Limit Violation

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

Board Relability Violation

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

Low Util Violation

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

集群GPU监控-应用Pod维度

Panel

Panel名称

说明

Overview

GPU Pod Details

表示申请GPU资源的Pod信息,包括:

  • Pod Namespace:Pod命名空间。

  • Pod Name:Pod名称。

  • Node Name:Pod所在的节点。

  • Pod Source:Pod所在源。

  • Allocated Mode:Pod分配模式。

  • Used GPU Memory:Pod当前所使用的显存大小。

  • Allocated GPU Memory:为Pod分配的显存大小。

  • Allocated Computing Power:共享GPU调度情况下,该Pod申请的算力。仅申请显存或独占GPU该值不显示。

  • SM Utilization:SM(Streaming Multiprocessor)的利用率。

  • GPU Memory Copy Utilization:内存拷贝利用率。

  • Encode Utilization:编码器利用率。

  • Decode Utilization:解码器利用率。

Pod Metrics(GPU Device)

Pods Used GPU Memory

表示Pod正在使用的显存大小。

Pods GPU Memory Used Percentage

表示Pod所使用的GPU内存占总可用GPU内存的百分比。

Pods GPU Memory Copy Utilization

表示Pod内存拷贝利用率。

Pods Average SM Utilization

表示Pod平均的SM利用率。

Pods GPU Decode Utilization

表示Pod解码器利用率。

Pods GPU Encode Utilization

表示Pod编码器利用率。

Pods Metrics(Host Resource)

Memory Percent

表示内存使用百分比。

Memory Usage

表示内存使用量。

CPU Usage By Cores

表示按核心分的CPU使用情况。

CPU Usage Percent

表示CPU使用百分比。

Network Bandwidth Usage

表示网络带宽使用量。

Network Socket

表示网络套接字。

File System

表示文件系统。

Process Number

表示进程数量。

GPU Utilization(Associated with Pod)

GPU Utilization

表示应用GPU卡利用率。

GPU Memory Copy Utilization

表示应用的GPU卡内存复制利用率。

Encoder Engine Utilization

表示应用的GPU卡编码器利用率。

Decoder Engine Utilization

表示应用的GPU卡解码器利用率。

GPU Memory & BAR1(Associated with Pod)

GPU Memory Details

表示应用GPU内存信息:

  • UUID:GPU卡的UUID。

  • Pod Source:Pod所在源。

  • Mode Name:显卡型号。

  • Driver Version:驱动版本。

  • Allocated Mode:Pod分配模式。

  • Allocated Percentage:已分配显存与总的显存比例。

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

  • Used Percentage:GPU内存使用百分比。

  • Total:该卡总显存。

GPU Memory Used

表示应用GPU卡已使用的显存大小。

GPU Memory Used Percentage

表示应GPU内存使用百分比

BAR1 Used

表示已使用BAR1。

BAR1 Total

表示总BAR1。

GPU Profiling(Associated with Pod)

Graphics Engine Active

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

DRAM Active

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

SM Active

表示SM处于Active的比例。

SM Occupancy

表示SM占用率。

Tensor Core Engine Active

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

FP32 Engine Active

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

FP16 Engine Active

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

FP64 Engine Active

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

PCIE TX Bytes(Device to Host)

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

PCIE RX Bytes(Host to Device)

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

NVLINK TX Bytes

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

NVLINK RX Bytes

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

GPU Temperature & Energy(Associated with Pod)

Power Usage

表示应用GPU卡的功率。

Toal Energy Consumption(in J)

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

Memory Temperature

表示应用GPU内存温度。

GPU Temperature

表示应用GPU温度(计算单元)。

GPU Clock(Associated with Pod)

SM CLOCK

表示SM时钟频率。

Memory Clock

表示内存频率。

APP SM Clock

表示SM应用的时钟频率。

APP Memory Clock

表示应用的内存频率。

Video Clock

表示Video引擎频率。

Clock Throttle Reasons

表示降频原因。