HPC & GPU Engineering/AI Infrastructure Engineer

[HPC/GPU 클러스터 운영 Linux Deep Dive 13편] GPU 사용률 모니터링 – nvidia-smi와 DCGM 활용법

ygtoken 2025. 8. 16. 09:53
728x90

 

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 상태 빠른 확인 클러스터 전체 자원 효율 분석, 예지보수

 


 

실제 운영 사례

 

  1. 낮은 GPU 활용률
    • 연구팀에서 “GPU가 느리다”고 보고
    • nvidia-smi 확인 결과 GPU Utilization은 10% 수준, 하지만 Memory Usage는 90%
    • 원인은 데이터 로딩 병목 → 데이터셋을 NVMe SSD로 옮기고 Dataloader를 최적화해 해결
  2. GPU 장애 사전 탐지
    • DCGM Exporter를 통해 Prometheus에 지표 수집
    • 특정 노드의 GPU ECC 에러율이 높아짐을 조기 감지
    • 실제 Job 오류 발생 전에 GPU 교체 조치
  3. 전력 관리 최적화
    • DCGM에서 Power 지표를 분석해 불필요한 오버 프로비저닝 확인
    • GPU 클러스터 전력 정책을 조정해 15% 에너지 절감

 


 

모니터링 전략 제안

 

  • 실시간 모니터링: 연구자/사용자가 직접 nvidia-smi로 확인
  • 클러스터 레벨 모니터링: 운영자는 DCGM Exporter + Prometheus + Grafana를 통해 전체 GPU 자원 현황 추적
  • 자동화된 알림: GPU 온도가 일정 기준 이상 상승하거나 ECC 오류 발생 시 Slack/Email 알림

 


 

정리하며

 

GPU는 HPC 클러스터의 심장과도 같습니다. 따라서 단순히 설치와 배치에서 끝나는 것이 아니라, 실시간 모니터링과 장기 지표 관리가 필수입니다.

 

  • nvidia-smi는 빠른 확인과 디버깅에 최적
  • DCGM은 데이터센터급 운영과 자동화에 강점

 

두 가지를 적절히 병행하면, GPU 자원 효율을 극대화하고 장애를 사전에 예방할 수 있습니다.

 

 

728x90