대규모 AI 인프라나 GPU 클러스터를 운영하다 보면,
간헐적인 Xid 오류, NVLink 불안정, 온도/전력 제한(Throttling) 등의 이슈를 경험하게 됩니다.
이때 단순히 nvidia-smi만으로는 진단하기 어려운 경우가 많습니다.
이럴 때 바로 활용할 수 있는 강력한 툴이
**NVIDIA DCGM(Data Center GPU Manager)**의 CLI 도구인 DCGMI입니다.

🧠 1. DCGM / DCGMI란 무엇인가?
DCGM (Data Center GPU Manager) 는 NVIDIA에서 제공하는 GPU 관리 프레임워크로,
데이터센터급 GPU 운영을 위한 헬스체크, 정책관리, 진단, 원격 모니터링 기능을 제공합니다.
DCGMI (DCGM CLI) 는 그 DCGM의 명령줄 인터페이스입니다.
GPU의 상태를 실시간으로 확인하거나, 심층 진단을 수행할 수 있습니다.
# DCGM 데몬 확인
sudo systemctl status nv-hostengine
# GPU 장치 검색
sudo dcgmi discovery -l
🧩 2. dcgmi diag — GPU 진단 기능
🔍 개요
dcgmi diag 명령은 GPU의 다양한 하드웨어 컴포넌트를 테스트하여
현재 상태를 정량적으로 진단합니다.
예를 들어 SM(Core), 메모리, PCIe, NVLink, 전력관리 등이 모두 검증 대상입니다.
💬 기본 명령어
sudo dcgmi diag -r 3
옵션 -r은 진단 레벨(run-level) 을 의미합니다.
레벨이 높을수록 테스트가 더 깊고 오래 진행됩니다.
| Level | 이름 | 설명 | 권장 상황 |
| 1 | Quick | 기본 체크 (초기 확인용) | GPU 설치 직후 |
| 2 | Short | 주요 기능 점검 | 간단한 장애 재현 시 |
| 3 | Medium | 중간 수준 기능 검증 | Xid 발생 시 일반적으로 사용 |
| 4 | Long | 심층 진단 (시간 소요 큼) | 안정성 테스트 |
| 5 | Extended | 모든 기능 + 스트레스 테스트 | 제조/벤치마크 수준 검증 |
🧪 예시 출력
Diagnostic results for GPU 0
Test 1: SM Stress Test PASS
Test 2: Memory Test PASS
Test 3: PCIe Bandwidth PASS
Test 4: NVLink LinkTest FAIL (Link 0 degraded)
🔎 해석:
- 모든 항목이 PASS라면 하드웨어 동작이 정상입니다.
- FAIL이 나온다면, 해당 GPU에서 링크 단절이나 ECC 에러가 발생했을 가능성이 있습니다.
- NVLink 관련 실패는 nvidia-smi -q -d NVLINK로 추가 확인합니다.
⚠️ 주의사항
- diag -r 3 이상은 GPU 부하가 높아지므로, 학습 중인 노드에서 실행하지 마세요.
- 테스트는 GPU를 잠시 점유하므로, 오프라인 진단 시 권장됩니다.
💡 3. dcgmi health — 실시간 헬스체크
dcgmi health는 현재 GPU 상태를 PASS/WARNING/FAIL 형태로 출력합니다.
온도, 전력 제한, ECC, NVLink 등 핵심 상태를 빠르게 확인할 수 있습니다.
💬 명령어 예시
sudo dcgmi health
sudo dcgmi health -d 0
🧾 예시 출력
Health Monitor Report
GPU 0: PASS
GPU 1: WARNING (Power limit throttling)
GPU 2: FAIL (ECC errors detected)
🔎 해석:
- PASS: 모든 모듈이 정상 동작
- WARNING: 일시적 제약 (온도 상승, 전력 제한 등)
- FAIL: ECC/Memory 등 심각한 하드웨어 오류
🧠 운영 팁
- 주기적 헬스체크 자동화
# /usr/local/bin/check_gpu_health.sh
#!/bin/bash
LOG="/var/log/dcgmi_health_$(date +%Y%m%d).log"
sudo dcgmi health > $LOG
grep "FAIL" $LOG && echo "GPU FAIL DETECTED" | mail -s "GPU Alert" ops@example.com
- Systemd Timer로 매일 자동 실행 가능
📊 4. DCGM Exporter와 통합하기
CLI 기반 점검은 일회성이지만,
상시 모니터링을 원한다면 DCGM Exporter를 Prometheus와 연동할 수 있습니다.
⚙️ 주요 Metric 예시
| Metric 이름 | 설명 |
| DCGM_FI_DEV_GPU_TEMP | GPU 온도 |
| DCGM_FI_DEV_POWER_USAGE | 전력 사용량 |
| DCGM_FI_DEV_ECC_DBE_AGG_TOTAL | ECC 더블비트 에러 |
| DCGM_FI_DEV_NVLINK_BANDWIDTH_TOTAL | NVLink 대역폭 |
이 데이터를 Prometheus에서 수집하고,
Grafana에서 GPU별 헬스 및 NVLink 상태를 시각화할 수 있습니다.
🧰 5. 운영 환경에서의 실제 활용 시나리오
🔹 GPU 노드 초기 점검
sudo dcgmi discovery -l
sudo dcgmi diag -r 1
sudo dcgmi health
🔹 장애 발생 시 (예: Xid 45, 79, 145 등)
sudo dcgmi diag -r 3
sudo dcgmi health -d 5
sudo nvidia-smi -q -d NVLINK
🔹 진단 후 조치
- NVLink 오류 → 링크 리셋 또는 케이블 재체결
- ECC 오류 → GPU 리셋(nvidia-smi --gpu-reset -i N)
- 지속적 오류 → GPU 교체 또는 펌웨어 점검
🧾 6. 요약 정리
| 명령 | 설명 | 활용 목적 |
| dcgmi discovery -l | GPU 장치 목록 | 장비 인식 확인 |
| dcgmi health | 헬스체크 | 실시간 상태 확인 |
| dcgmi diag -r 3 | 중간 수준 진단 | 장애 발생 시 검증 |
| dcgmi policy --set | 정책 기반 감시 | 오류 감지 자동화 |
| dcgm-exporter | Prometheus 연동 | 장기 모니터링 |
🧭 7. 결론
dcgmi는 단순한 명령줄 툴이 아닙니다.
이는 GPU 클러스터 운영자의 조기 경보 시스템이며,
Xid 에러나 NVLink 불안정 같은 하드웨어 레벨 문제를 진단하는 첫 단계입니다.
✅ 정리하자면:
- 빠른 점검: sudo dcgmi health
- 심층 진단: sudo dcgmi diag -r 3
- 모니터링 자동화: dcgm-exporter + Prometheus