피드로 돌아가기
How to Detect GPU Waste in a Kubernetes Cluster
Dev.toDev.to
Infrastructure

K8s GPU 낭비 20~40% 제거를 위한 Model-aware 모니터링 설계

How to Detect GPU Waste in a Kubernetes Cluster

Sam Hosseini2026년 5월 25일6intermediate

Context

Kubernetes의 기본 리소스 모니터링은 Pod 수준의 할당량만 확인하는 한계 존재. 이로 인해 실제 연산량과 무관하게 리소스가 점유된 Idle allocation 및 부적절한 GPU Tier 배치로 인한 비용 낭비가 발생함.

Technical Solution

  • NVIDIA DCGM Exporter를 DaemonSet으로 배포하여 SM Utilization, Memory Bandwidth, Power Usage 등 GPU 레벨의 고해상도 텔레메트리 수집
  • SM Utilization 20% 미만 및 Memory Bandwidth 30% 미만 상태가 15분 이상 지속될 시 Idle Allocation으로 판별하는 임계값 기반 탐지 로직 적용
  • Model-aware 분석을 통해 모델 파라미터 크기 대비 VRAM 요구량과 실제 배치된 GPU Tier의 비용 효율성을 대조하는 Cost Delta 계산 방식 도입
  • CPU Request saturation 90% 이상과 GPU SM utilization 60% 미만 상태를 교차 분석하여 데이터 로딩 및 전처리에 따른 CPU-bound Stall 병목 지점 식별
  • 인프라 지표에 워크로드 컨텍스트(모델 종류, 트래픽 패턴)를 결합하여 단순 모니터링을 넘어선 Fleet Optimization 구조로 전환

Impact

  • A10G 20대 Idle 및 H100 10대 Tier Misplacement 발생 시 일일 약 $1,128, 연간 최대 $411k의 비용 절감 가능
  • 1초 해상도의 Prometheus 쿼리를 통한 실시간 낭비 리소스 가시성 확보

Key Takeaway

인프라 지표(Metric)만으로는 리소스 낭비를 완전히 정의할 수 없으며, 실행 중인 워크로드의 특성(Model Context)을 결합한 다차원 분석만이 실질적인 비용 최적화를 가능케 함.


- DCGM Exporter를 통해 SM Util과 Power Draw의 상관관계 분석 - GPU Util이 낮을 때 CPU Saturation 수치를 확인하여 전처리 병목 여부 검토 - 모델 크기(FP16 기준 VRAM 계산)에 적합한 GPU Tier가 할당되었는지 재검증 - 15분 이상 GPU Util 5% 미만인 Pod를 추출하는 Prometheus 쿼리 적용

원문 읽기