반응형
들어가며
쿠버네티스에서 GPU 워크로드를 운영하기 위해서는 pod레벨에서 GPU상태를 확인하는 것도 중요하지만 인스턴스(노드)레벨에서 GPU정보를 확인하는것도 필요하다고 생각합니다.
따라서, 이 글은 노드레벨에서 nvidia GPU상태를 확인하는 방법을 설명합니다.
실습환경
실습환경은 AWS EC2 인스턴스를 사용했고 g6.xlarge를 사용했습니다.
GPU 상태 확인
nvidia GPU드라이버를 설치하면 nvidia-smi명령어를 사용할 수 있습니다. nvidia-smi 명령어를 사용하면 nvidia GPU 현재 상태를 확인합니다.
nvidia-smi
GPU 상태 필터링
query-gpu 인자를 사용하면 특정 상태를 필터링 하여 조회합니다. 아래는 GPU driver version을 조회한 결과입니다.
nvidia-smi --query-gpu=driver_version --format=csv,noheader,nounits
GPU 상태는 --help-query-gpu로 조회합니다.
nvidia-smi --help-query-gpu
자주 사용하는 GPU 상태 필터입니다.
# NVIDIA 드라이버 버전 확인
nvidia-smi --query-gpu=driver_version --format=csv,noheader,nounits
# GPU 상태 확인 (정상: P0, 유휴: P8)
nvidia-smi --query-gpu=pstate --format=csv,noheader,nounits
# ECC 오류 확인
nvidia-smi --query-gpu=ecc.errors.corrected.total,ecc.errors.uncorrected.total --format=csv
GPU 상세 정보확인
GPU 상세정보는 nvidia-smi -i로 확인할 수 있습니다.
nvidia-smi -i 0 -q
GPU 특정 정보만 확인하려면 -d {필드이름}으로 필터링 합니다.
#메모리 정보
nvidia-smi -i 0 -q -d MEMORY
실시간 상태 트레이싱
tail {파일경로}처럼 nvidia-smi를 실시간으로 추적하려면 nvidia-smi -l을 사용합니다.
# 1초마다 GPU 상태 트레이싱
nvidia-smi -l 1
또는 nvidia-smi dmon를 사용하면 됩니다. dmon는 1초마다 GPU 상태를 추적합니다.
nvidia-smi dmon
특정 상태만 실시간 트레이싱
특정 상태만 실시간 트레이싱하려면 --query-gpu와 -l 인자를 사용합니다.
nvidia-smi --query-gpu={query1,query2} \
--format=csv,noheader,nounits \
-l 1
아래는 GPU 사용률, 메모리 사용률, 온도 모니터링를 필터링하여 1초마다 트레이싱한 예제입니다.
nvidia-smi --query-gpu=memory.total,memory.free,memory.used \
--format=csv,noheader,nounits
GPU를 사용하는 프로세스 조회
nvidia-smi pmon
반응형
'전공영역 공부 기록' 카테고리의 다른 글
uv로 파이썬 패키지를 관리할때, 파이썬 패키지 설치가 실패하는 케이스(부제: uv workspace) (2) | 2025.06.28 |
---|---|
kubernetes pod가 GPU를 사용하는 원리 그리고 쿠버네티스 설정 (0) | 2025.06.22 |
nvidia GPU operator는 Amazon Linux에 GPU driver설치를 지원하지 않는다. (1) | 2025.06.15 |
EKS에서 AIOps를 하기 위한 로드맵 (2) | 2025.06.15 |
운영의 필수 기능 "Alarm" (1) | 2025.06.10 |