GPU 모니터링이 중요한 이유
HPC와 딥러닝 클러스터의 핵심은 GPU입니다. 하지만 고가의 GPU가 항상 100% 활용되는 것은 아닙니다. 많은 경우 모델 구조, 데이터 파이프라인, 네트워크 병목 등으로 인해 GPU 사용률이 낮아지고, 이는 곧 자원 낭비로 이어집니다.
운영자의 역할은 단순히 GPU를 배치하는 것에서 끝나지 않습니다. 실제 Job이 실행될 때 GPU가 어떻게 사용되고 있는지, 병목이 어디에서 발생하는지 파악해야 효율적인 클러스터 운영이 가능합니다. 이를 위해 가장 많이 활용되는 도구가 바로 nvidia-smi와 **DCGM(Data Center GPU Manager)**입니다.
nvidia-smi – 가장 직관적인 GPU 모니터링
nvidia-smi는 NVIDIA 드라이버에 기본 포함된 CLI 도구로, 단일 서버 혹은 노드의 GPU 상태를 빠르게 확인할 수 있습니다.
기본 사용법
# GPU 전체 상태 확인
nvidia-smi
# GPU 메모리 사용률만 주기적으로 확인
watch -n 1 nvidia-smi --query-gpu=memory.used,memory.total --format=csv
주요 지표
- GPU Utilization: GPU 코어가 실제 연산에 사용된 비율
- Memory Usage: GPU 메모리 사용량
- Processes: 어떤 PID가 GPU를 점유하고 있는지 확인 가능
- Temperature/Power: 발열과 소비 전력
HPC 운영 포인트
- 특정 Job이 GPU 메모리는 많이 사용하지만 GPU Utilization이 낮다면 → 데이터 로딩이나 I/O 병목 가능성
- 여러 사용자가 같은 노드에서 작업할 때 → GPU를 누가 점유했는지 추적 가능
DCGM – 데이터센터급 GPU 관리 툴
DCGM (Data Center GPU Manager)는 NVIDIA가 제공하는 GPU 관리 프레임워크로, 대규모 GPU 클러스터 운영에 최적화되어 있습니다. 단일 서버 모니터링에 국한되지 않고, Prometheus/Grafana 같은 모니터링 스택과 연동해 장기 지표를 수집할 수 있습니다.
주요 기능
- GPU Health Check (온도, 메모리 오류, PCIe 에러 검사)
- 장기 모니터링 및 지표 수집
- 애플리케이션 프로파일링 (Job 단위 사용률 측정)
- 자동화된 진단 및 보고서 생성
기본 활용 예시
# DCGM 에이전트 실행
dcgmi discovery -l
# GPU 상태 진단
dcgmi diag -r 3
# GPU 지표 모니터링
dcgmi stats -e 1000
Prometheus Exporter와 연동
# GPU 지표를 Prometheus로 내보내기
dcgm-exporter
→ 이후 Grafana에서 GPU Utilization, Memory, Power Consumption 대시보드 구성
nvidia-smi vs DCGM 비교
| 구분 | nvidia-smi | DCGM (Data Center GPU Manager) |
| 범위 | 단일 서버/노드 | 데이터센터급 클러스터 전체 |
| 사용 목적 | 실시간 확인, 디버깅 | 장기 모니터링, 자동화, 정책 관리 |
| 인터페이스 | CLI 위주 | CLI + Prometheus/Grafana 연동 |
| 지표 수준 | GPU별 상태 중심 | GPU + 애플리케이션 + 하드웨어 이벤트 |
| HPC 활용 예 | Job 실행 중 GPU 상태 빠른 확인 | 클러스터 전체 자원 효율 분석, 예지보수 |
실제 운영 사례
- 낮은 GPU 활용률
- 연구팀에서 “GPU가 느리다”고 보고
- nvidia-smi 확인 결과 GPU Utilization은 10% 수준, 하지만 Memory Usage는 90%
- 원인은 데이터 로딩 병목 → 데이터셋을 NVMe SSD로 옮기고 Dataloader를 최적화해 해결
- GPU 장애 사전 탐지
- DCGM Exporter를 통해 Prometheus에 지표 수집
- 특정 노드의 GPU ECC 에러율이 높아짐을 조기 감지
- 실제 Job 오류 발생 전에 GPU 교체 조치
- 전력 관리 최적화
- DCGM에서 Power 지표를 분석해 불필요한 오버 프로비저닝 확인
- GPU 클러스터 전력 정책을 조정해 15% 에너지 절감
모니터링 전략 제안
- 실시간 모니터링: 연구자/사용자가 직접 nvidia-smi로 확인
- 클러스터 레벨 모니터링: 운영자는 DCGM Exporter + Prometheus + Grafana를 통해 전체 GPU 자원 현황 추적
- 자동화된 알림: GPU 온도가 일정 기준 이상 상승하거나 ECC 오류 발생 시 Slack/Email 알림
정리하며
GPU는 HPC 클러스터의 심장과도 같습니다. 따라서 단순히 설치와 배치에서 끝나는 것이 아니라, 실시간 모니터링과 장기 지표 관리가 필수입니다.
- nvidia-smi는 빠른 확인과 디버깅에 최적
- DCGM은 데이터센터급 운영과 자동화에 강점
두 가지를 적절히 병행하면, GPU 자원 효율을 극대화하고 장애를 사전에 예방할 수 있습니다.