全部產品
Search
文件中心

Container Service for Kubernetes:監控指標說明

更新時間:Jun 19, 2024

GPU監控2.0基於Exporter+Prometheus+Grafana體系打造更為豐富的GPU可觀性情境,支援您基於Container Service開發的GPU Exporter監控指標構建Grafana大盤。本文介紹GPU監控2.0指標的詳細資料。

指標說明

GPU監控2.0使用的GPU Exporter在相容開源DCGM Exporter提供的監控指標的基礎上,根據某些業務情境,增加了自訂指標。關於DCGM Exporter的更多資訊,請參見DCGM Exporter

GPU監控2.0中所涉及的GPU監控指標包括DCGM支援的指標自訂指標

計費說明

GPU監控使用自訂指標會引起額外的費用。

為避免產生額外的費用,建議在啟用此功能前,仔細閱讀阿里雲Prometheus的計費概述,瞭解自訂指標的收費策略。費用將根據您的叢集規模和應用數量等因素產生變動。您可以通過資源消耗統計功能,監控和管理您的資源使用方式。

DCGM支援的指標

利用率(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

  • DCGM_FI_PROF_PCIE_RX_BYTES

Counter

B/s

表示通過PCIe匯流排傳輸/接收的資料速率,包括協議標題和資料承載。

該值表示一個時間間隔內的平均值,而不是瞬時值。

該速率在時間間隔內平均。例如,在1秒內傳輸1 GB資料,則無論以恒定速率還是突發傳輸資料,速率都是1 GB/s。理論上的最大PCIe Gen3頻寬為每通道985 MB/s。

  • DCGM_FI_PROF_NVLINK_RX_BYTES

  • DCGM_FI_PROF_NVLINK_TX_BYTES

Counter

B/s

表示通過NVLink傳輸/接收的資料速率,不包括協議標題。

該值表示一個時間間隔內的平均值,而不是瞬時值。

該速率在時間間隔內平均。例如,在1秒內傳輸1 GB資料,則無論以恒定速率還是突發傳輸資料,速率都是1 GB/s。理論上,最大NVLink Gen2頻寬為每個方向每個鏈路25 GB/s。

頻率(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

表示時鐘慢下來的原因。

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。

溫度&功率(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

-

表示由單bit錯誤而停用的頁面。

DCGM_FI_DEV_RETIRED_DBE

Gauge

-

表示用雙bit錯誤而停用的頁面。

自訂指標

指標名稱

指標類型

單位

說明

DCGM_CUSTOM_PROCESS_SM_UTIL

Gauge

%

表示GPU線程的SM利用率。

DCGM_CUSTOM_PROCESS_MEM_COPY_UTIL

Gauge

%

表示GPU線程的記憶體拷貝利用率。

DCGM_CUSTOM_PROCESS_ENCODE_UTIL

Gauge

%

表示GPU線程的編碼器利用率。

DCGM_CUSTOM_PROCESS_DECODE_UTIL

Gauge

%

表示GPU線程的解碼器利用率。

DCGM_CUSTOM_PROCESS_MEM_USED

Gauge

MiB

表示GPU線程當前使用的顯存。

DCGM_CUSTOM_CONTAINER_MEM_ALLOCATED

Gauge

MiB

表示為容器分配顯存。

DCGM_CUSTOM_CONTAINER_CP_ALLOCATED

Gauge

-

表示為容器分配的一張GPU卡上部分算力占該GPU卡總算力的比例。值的區間為[0,1]。

獨佔GPU或者共用GPU只申請顯存時,該指標的值為0,表示不限制算力。

假設GPU卡有100算力,為一個容器分配30算力,那麼為該容器分配的算力比例為30/100=0.3。

DCGM_CUSTOM_DEV_FB_TOTAL

Gauge

MiB

表示GPU卡的總顯存。

DCGM_CUSTOM_DEV_FB_ALLOCATED

Gauge

-

表示GPU卡已指派顯存佔總顯存的比例,值的區間為[0,1]。

DCGM_CUSTOM_ALLOCATE_MODE

Gauge

-

表示節點啟動並執行模式,有如下幾種:

  • 0:代表值為None,表示當前節點沒有GPU Pod在運行。

  • 1:代表值為Exclusive,表示None當前節點的GPU Pod以獨佔GPU方式運行。

  • 2:代表值為Share,表示當前節點GPU Pod以共用GPU方式運行。

將被棄用的指標

將被棄用的指標

替換的新指標

說明

nvidia_gpu_temperature_celsius

DCGM_FI_DEV_GPU_TEMP

nvidia_gpu_power_usage_milliwatts

DCGM_FI_DEV_POWER_USAGE

nvidia_gpu_sharing_memory

DCGM_CUSTOM_DEV_FB_ALLOCATED * DCGM_CUSTOM_DEV_FB_TOTAL

每一張GPU裝置顯存被申請的比例 * 該裝置顯存的總量 = 該裝置被申請的顯存數

nvidia_gpu_memory_used_bytes

DCGM_FI_DEV_FB_USED

nvidia_gpu_memory_total_bytes

DCGM_CUSTOM_DEV_FB_TOTAL

nvidia_gpu_memory_allocated_bytes

DCGM_CUSTOM_DEV_FB_ALLOCATED * DCGM_CUSTOM_DEV_FB_TOTAL

每一張GPU裝置顯存被申請的比例 * 該裝置顯存的總量 = 該裝置被申請的顯存數

nvidia_gpu_duty_cycle

DCGM_FI_DEV_GPU_UTIL

nvidia_gpu_allocated_num_devices

sum(DCGM_CUSTOM_DEV_FB_ALLOCATED)

sum(節點上每一張GPU裝置顯存被申請的比例) = 該節點上被申請的總卡數

nvidia_gpu_num_devices

DCGM_FI_DEV_COUNT