NVIDIA DCGM Exporter Metrics

NVIDIA DCGM Exporter Metrics

NVIDIA DCGM Exporter가 노출하는 Metric을 정리한다.

1. Metric 목록

1.1. Utilization Metrics

GPU 사용률을 의미

MetricDescriptionMetric TypeValue Unit
DCGM_FI_DEV_GPU_UTIL전반적인 GPU 사용률를 의미GaugePercentage (0 ~ 100)
DCGM_FI_DEV_MEM_COPY_UTIL특정 주기 동안 GPU Memory에 Data가 복사가 수행된 시간 비율GaugePercentage (0 ~ 100)
DCGM_FI_DEV_ENC_UTILEncoder의 사용률GaugePercentage (0 ~ 1)
DCGM_FI_DEV_DEC_UTILDecoder의 사용률GaugePercentage (0 ~ 1)

1.2. Memory Metrics

GPU Memory 사용량을 의미

MetricDescriptionMetric TypeValue Unit
DCGM_FI_DEV_FB_FREE이용 가능한 GPU Memory 용량GaugeMB
DCGM_FI_DEV_FB_USED이용중인 GPU Memory 용량GaugeMB

1.3. Clock Metrics

GPU, GPU Memory의 Clock 상태를 의미

MetricDescriptionMetric TypeValue Unit
DCGM_FI_DEV_SM_CLOCKSM (Streaming Multiprocessor)의 ClockGaugeMHz
DCGM_FI_DEV_MEM_CLOCKGPU Memory ClockGaugeMHz

1.4. NVLink Metrics

NVLink Metric

MetricDescriptionMetric TypeValue Unit
DCGM_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_TOTALNVLink에서 Flow-Control CRC Error가 발생한 횟수Counter
DCGM_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_TOTALNVLink에서 Data CRC Error가 발생한 횟수Counter
DCGM_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_TOTALNVLink에서 Retry가 발생한 횟수Counter
DCGM_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_TOTALNVLink에서 Recovery가 발생한 횟수Counter
DCGM_FI_DEV_NVLINK_BANDWIDTH_TOTALNVLink의 Bandwidth CounterCounter
DCGM_FI_DEV_NVLINK_BANDWIDTH_L0활성화된 NVLink를 통해서 주고 받은 Data양 (Header & Payload)CounterByte

1.5. PCIe Metrics

PCIe Metric

MetricDescriptionMetric TypeValue Unit
DCGM_FI_DEV_PCIE_REPLAY_COUNTERPCIe에서 Packet 전송에 Error가 발생하여 재시도한 횟수Counter

1.6. DCP (Profiling) Metrics

Profiling Metric

MetricDescriptionMetric TypeValue Unit
DCGM_FI_PROF_GR_ENGINE_ACTIVESM(Streaming Multiprocessor) 내부의 CUDA Core가 특정 주기 동안 동작한 시간 비율GaugePercentage (0 ~ 1)
DCGM_FI_PROF_PIPE_TENSOR_ACTIVETensor Core가 특정 주기 동안 동작한 시간 비율GaugePercentage (0 ~ 1)
DCGM_FI_PROF_DRAM_ACTIVE특정 주기 동안 GPU Memory가 동작한 시간 비율GaugePercentage (0 ~ 1)
DCGM_FI_PROF_PCIE_RX_BYTESGPU가 PCIe로부터 수신하는 Data양 (Header & Payload)GaugeBytes per second
DCGM_FI_PROF_PCIE_TX_BYTESGPU가 PCIe로 송신하는 Data양 (Header & Payload)GaugeBytes per second

1.7. Remapping Rows Metrics

GPU Memory에서 수행하는 Remapping Row Metric. Remapping Row는 GPU Memory에 비정상 상태의 Row가 존재할 경우, 다른 정상 상태의 Row로 치환하는 기능을 의미한다. Row는 메모리 칩 내부의 최소 저장 단위를 의미한다.

MetricDescriptionMetric TypeValue Unit
DCGM_FI_DEV_CORRECTABLE_REMAPPED_ROWSGPU Memory에서 Row Remapping을 통해서 수정이 가능한 Error의 갯수Counter
DCGM_FI_DEV_UNCORRECTABLE_REMAPPED_ROWSGPU Memory에서 Row Remapping을 통해서 수정이 불가능한 Error의 갯수Counter
DCGM_FI_DEV_ROW_REMAP_FAILUREGPU Memory에서 Row Remapping 수행 시도 실패 횟수Counter

1.8. ECC Metrics

GPU Memroy의 ECC (Error-Correcting Code) Metric

MetricDescriptionMetric TypeValue Unit
DCGM_FI_DEV_ECC_SBE_VOL_TOTAL휘발성 Single-Bit Error의 갯수Counter
DCGM_FI_DEV_ECC_DBE_VOL_TOTAL휘발성 Double-Bit Error의 갯수Counter
DCGM_FI_DEV_ECC_SBE_AGG_TOTAL영구적인 Single-Bit Error의 갯수Counter
DCGM_FI_DEV_ECC_DBE_AGG_TOTAL영구적인 Double-Bit Error의 갯수Counter

1.9. Retired Pages Metrics

GPU Memroy의 Retired Pages Metric. Retired Page는 비정상 상태의 Page를 삭제하여 GPU Memory의 안정성을 높이는 기능을 의미한다.

MetricDescriptionMetric TypeValue Unit
DCGM_FI_DEV_RETIRED_SBE휘발성 Single-Bit Error로 인해서 삭제된 Page의 갯수Counter
DCGM_FI_DEV_RETIRED_DBE휘발성 Double-Bit Error로 인해서 삭제된 Page의 갯수Counter
DCGM_FI_DEV_RETIRED_PENDING삭제 대기중인 Page의 갯수Counter

1.10. Error and Violation Metrics

Error 및 Violation Metric

MetricDescriptionMetric TypeValue Unit
DCGM_FI_DEV_XID_ERRORS마지막에 발생한 XID Error CodeGauge
DCGM_FI_DEV_POWER_VIOLATION전력 제한에 의한 Throttling 시간Counterus
DCGM_FI_DEV_THERMAL_VIOLATION온도 제한에 의한 Throttling 시간Counterus
DCGM_FI_DEV_SYNC_BOOST_VIOLATIONSync-Boost 제한에 의한 Throttling 시간Counterus
DCGM_FI_DEV_BOARD_LIMIT_VIOLATION보드 제한에 의한 Throttling 시간Counterus
DCGM_FI_DEV_LOW_UTIL_VIOLATION사용률 제한에 의한 Throttling 시간Counterus
DCGM_FI_DEV_RELIABILITY_VIOLATION신뢰성 제한에 의한 Throttling 시간Counterus

1.11. Power Metrics

소비 전력 Metric

MetricDescriptionMetric TypeValue Unit
DCGM_FI_DEV_POWER_USAGEGPU 전력 소모량GaugeWatt
DCGM_FI_DEV_TOTAL_ENERGY_CONSUMPTIONGPU Driver가 동작한 이후에 소모한 총 에너지량CountermJ

1.12. Temperature Metrics

온도 Metric

MetricDescriptionMetric TypeValue Unit
DCGM_FI_DEV_GPU_TEMPGPU 온도GaugeCelsius
DCGM_FI_DEV_MEMORY_TEMPGPU Memory 온도GaugeCelsius

1.13. License Metrics

License 상태 Metric

MetricDescriptionMetric TypeValue
DCGM_FI_DEV_VGPU_LICENSE_STATUSvGPU 기능 이용시 필요한 License 상태Gauge0 : vGPU License가 존재하지 않는 상태, 1 : vGPU License가 존재하는 상태

2. Metric Label

LabelDescriptionValueNote
UUIDGPU의 UUIDGPU-{UUID}
gpuGPU 번호0, 1, 2, …
deviceGPU Device Numbernvidia0, nvidia1, …
HostnameGPU가 설치된 Host의 이름
modelNameGPU 모델 이름
pci_bus_idGPU의 PCI Bus ID
exported_namespaceGPU를 이용하는 Pod가 위치하는 Namespace 이름K8s Pod Metric
exported_podGPU를 이용하는 Pod 이름K8s Pod Metric
exported_containerGPU를 이용하는 Container 이름K8s Pod Metric
DCGM_FI_DRIVER_VERSIONGPU Driver 버전MIG Metric
GPU_I_PROFILEMIG Profile 이름MIG Metric
GPU_I_IDMIG Instance IDMIG Metric
  • Note
    • K8s Pod Metric : K8s Pod에 할당된 GPU에 붙는 Label
    • MIG Metric : MIG (Multi-Instance GPU) 기능을 이용하여 생성된 GPU Instance에만 붙는 Label

3. 참조