[vLLM] CUDA_VISIBLE_DEVICES, gpu-memory-utilization, 물리적 메모리 공유 관계

류지수·2025년 6월 26일

CUDA_VISIBLE_DEVICE란?

CUDA_VISIBLE_DEVICES=0
  • 이 프로세스는 GPU 0만 접근 가능
  • 하지만, GPU 0을 바라보는 다른 프로세스가 존재한다면, 메모리 충돌 가능성이 있음

gpu-memory-utilization은 GPU 1장 기준

--gpu-memory-utilization=0.8
  • 의미: 현재 접근 중인 GPU 한 장의 메모리 중 80%까지 사용
  • 전체 시스템 메모리(X) / 전체 GPU 갯수 기준(X)

물리적 메모리 공유란?

여러 프로세스가 같은 GPU의 메모리를 동시에 나눠 쓰는 상태

# GPU 0
LLM:    CUDA_VISIBLE_DEVICES=0  --gpu-memory-utilization=0.7
LLM2:   CUDA_VISIBLE_DEVICES=0  --gpu-memory-utilization=0.6
  • GPU 0에 총 130% 요청 → 80GB 메모리 초과 → 충돌

→ CUDA_VISIBLE_DEVICES로 분리했어도, 물리적으로 같은 GPU라면 충돌 발생


항목설명
GPU당 인스턴스 수 제한CUDA_VISIBLE_DEVICES로 명확히 분리
각 GPU에서 memory-utilization 총합 ≤ 1.0충돌 방지 핵심
tensor-parallel-size 사용여러 GPU에 분산할 때 필요
nvidia-smi, gpustat 모니터링실시간 메모리 사용 상태 확인
profile
끄적끄적

0개의 댓글