GPU監控基於Exporter+Prometheus+Grafana體系提供更為豐富的GPU可觀性情境,您可以使用基於Container Service開發的GPU Exporter監控指標構建Grafana大盤。本文介紹GPU監控指標的詳細資料。
指標計費說明
GPU監控使用GPU Exporter相容開源DCGM Exporter提供的監控指標。以下GPU監控指標均為基礎指標,傳入到Prometheus不會產生額外的費用。如果您使用其他自訂指標,則會產生額外的費用。具體收費策略,請參見計費概述。
指標列表
DCGM指標
DCGM相關指標可以基於以下資源維度進行篩選:
namespace="{{pod_namespace}}"
pod="{{pod_name}}"
Hostname="{{pod_name}}"
NodeName="cn-wulanchabu-c.cr-xxx",僅限GPU-HPN Pod
UUID="GPU-example-uuid-abcd"
device="nvidia0"
gpu="0"
modelName="example-model"
指標維度 | 指標名 | 指標類型 | 指標單位 | 指標說明 |
GPU資源指標 | DCGM_FI_DEV_GPU_UTIL | Gauge | % | 表示GPU利用率,即在一個周期時間內(1s或1/6s,根據GPU產品而定),一個或多個核函數處於Active狀態的時間。 該指標僅能夠展示有核函數在用的GPU資源,但無法展示具體的使用方式。 |
DCGM_FI_DEV_FB_USED | Gauge | MiB | 表示顯存(幀緩衝)已使用數。 | |
DCGM_FI_DEV_FB_TOTAL | Gauge | MiB | 表示顯存(幀緩衝)總大小。 | |
DCGM_FI_DEV_ENC_UTIL | Gauge | % | 表示編碼器利用率。 | |
DCGM_FI_DEV_DEC_UTIL | Gauge | % | 表示解碼器利用率。 | |
DCGM_FI_DEV_MEM_COPY_UTIL | Gauge | % | 表示記憶體頻寬利用率。 以英偉達GPU V100為例,其最大記憶體頻寬為900 GB/sec,如果當前的記憶體頻寬為450 GB/sec,則記憶體頻寬利用率為50%。 | |
剖析(Profiling) | 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_DRAM_ACTIVE | Gauge | % | 表示記憶體頻寬利用率(Memory BW Utilization)是將資料發送到裝置記憶體或從裝置記憶體接收資料的周期分數。 該值表示時間間隔內的平均值,而不是瞬時值。 較高的值表示裝置記憶體的利用率較高。 該值為1(100%)表示在整個時間間隔內的每個周期執行一條 DRAM 指令(實際上,峰值約為 0.8(80%)是可實現的最大值)。 假設該值為0.2(20%),表示20%的周期在時間間隔內讀取或寫入裝置記憶體。 | |
| Counter | B/s | 表示通過NVLink傳輸/接收的資料速率,不包括協議標題。 該值表示一個時間間隔內的平均值,而不是瞬時值。 該速率在時間間隔內平均。例如,在1秒內傳輸1 GB資料,則無論以恒定速率還是突發傳輸資料,速率都是1 GB/s。理論上,最大NVLink Gen2頻寬為每個方向每個鏈路25 GB/s。 | |
| Counter | B/s | 表示通過PCIe匯流排傳輸/接收的資料速率,包括協議標題和資料承載。 該值表示一個時間間隔內的平均值,而不是瞬時值。 該速率在時間間隔內平均。例如,在1秒內傳輸1 GB資料,則無論以恒定速率還是突發傳輸資料,速率都是1 GB/s。理論上的最大PCIe Gen3頻寬為每通道985 MB/s。 | |
DCGM_FI_PROF_PIPE_TENSOR_ACTIVE | Gauge | % | 表示Tensor(HMMA/IMMA)Pipe處於Active狀態的周期分數。 該值表示一個時間間隔內的平均值,而不是瞬時值。 較高的值表示Tensor Cores的利用率較高。 該值為1(100%)表示在整個時間間隔內每隔一個指令周期發出一個Tensor指令(兩個周期完成一條指令)。 假設該值為0.2(20%),可能有如下情況:
| |
頻率(Clock) | DCGM_FI_DEV_SM_CLOCK | Gauge | MHz | 表示SM時鐘頻率。 |
GPU異常/XID錯誤 | DCGM_FI_DEV_NVSWITCH_FATAL_ERRORS | Gauge | 錯誤碼 | NVSwitch異常錯誤資訊。 數值為SXid錯誤碼。 |
DCGM_FI_DEV_ROW_REMAP_FAILURE | Gauge | - | 出現行重新對應錯誤異常。 | |
DCGM_FI_DEV_ROW_REMAP_PENDING | Gauge | - | 出現行重新對應阻塞異常。 | |
溫度&功率(Temperature & Power) | DCGM_FI_DEV_GPU_TEMP | Gauge | ℃ | 表示GPU溫度。 |
DCGM_FI_DEV_MEMORY_TEMP | Gauge | ℃ | 表示記憶體溫度。 | |
DCGM_FI_DEV_POWER_USAGE | Gauge | W | 表示功率。 | |
停用的記憶體頁面(Retired Pages) | DCGM_FI_DEV_RETIRED_SBE | Gauge | - | 表示由單位元錯誤(Single Bit Error)而停用的頁面個數。 |
DCGM_FI_DEV_RETIRED_DBE | Gauge | - | 表示由雙位元錯誤(Double Bit Error)而停用的頁面個數。 |
RDMA指標
RDMA相關指標可以基於以下資源維度進行篩選:
app="nusa-exporter",
hostname="{{pod_name}}"
ip="172.16.17.114",
namespace="{{pod_namespace}}"
node="{{virtual-kubelet-nodename}}"
pod="{{pod_name}}"
指標名 | 指標類型 | 指標單位 | 指標說明 |
| Gauge | bytes | Pod RDMA網路出/入方向流量大小瞬時值。 |
| Counter | bytes | Pod RDMA網路出/入方向流量大小累計值。 |
| Gauge | packets | Pod RDMA網路出/入方向網路流量包數量瞬時值。 |
| Counter | packets | Pod RDMA網路出/入方向網路流量包數量累計值。 |