본문 바로가기
개발/Linux

Ubuntu에서 GPU Monitoring

by 아르카눔 2024. 11. 8.

우분투 OS에서 GPU 모니터링을 위한 다양한 방법들을 소개한다.

 

 

들어가기에 앞서서 엔비디아 드라이버와 쿠다의 설치 확인 및 버젼 확인을 먼저 짚고 넘어간다.

 

 

우선 nvidia-smi로 설치된, nvidia-smi의 버젼, Nvidia Driver의 버젼과 Cuda 버젼, 그래픽 카드의 종류를 알 수 있다. 

 

nvcc --version으로 설치된 CUDA의 버젼을 확인할 수 있다.

 

which nvcc로 CUDA가 설치된 경로를 확인할 수 있다. 

 

 


Command 

 

1. nvidia-smi 

1.1.  한 번 실행

 

nvidia-smi

 

Figure 1

 


1.2. 실시간 모니터링

 

기본적으로 2초마다 업데이트한다.

 

-d를 추가하면 바뀐 부분을 하이라이트 한다. 

watch -n 2 nvidia-smi # 2초마다 한 번씩 업데이트
watch -d -n 1 nvidia-smi # 변경되 부분 하이라이트 + 1초마다 한 번씩 업데이트

 

Figure 2

 

 

1.3. 실시간 모니터링

 

k초마다 업데이트

k초 마다 nvidia-smi를 새로 출력하는 방식이다.

nvidia-smi -l 1

 

Figure 3

 

 

 


1.4.  특정 정보만 필터링

 

1.4.1 --query-gpu

 

nvidia-smi 뒤에 --query-gpu=key1,key2,...

 

key들에 다음에 소개되는 값들을 넣어서 원하는 정보를 출력할 수 있다.

 

  • timestamp
  • name
  • gpu_name
  • gpu_bus_id
  • vbios_version
  • temperature.gpu
  • utilization.gpu
  • utilization.memory
  • memory
  • memory.used
  • memory.free
  • memory.total

 

nvidia-smi --query-gpu=timestamp,name,temperature.gpu,utilization.gpu,utilization.memory,memory.used,memory.total --format=csv -l 1

 

timestamp, name, temperature.gpu, utilization.gpu [%], utilization.memory [%], memory.used [MiB], memory.total [MiB]
2025/05/30 10:21:39.211, NVIDIA GeForce RTX 4090, 42, 0 %, 6 %, 1067 MiB, 24564 MiB

 

nvidia-smi --query-gpu=gpu_name,gpu_bus_id,vbios_version --format=csv

 

 

name, pci.bus_id, vbios_version
NVIDIA GeForce RTX 4090, 00000000:01:00.0, 95.02.18.80.b6

 

nvidia-smi --query-gpu=memory.total,memory.used,memory.free --format=csv

 

 

memory.total [MiB], memory.used [MiB], memory.free [MiB]
24564 MiB, 1065 MiB, 23078 MiB

 

 

 

1.4.2 --query-compute-apps

nvidia-smi 뒤에 --query-compute-apps=key1,key2,...

key들에 다음에 소개되는 값들을 넣어서 원하는 정보를 출력할 수 있다.

  • pid
  • process_name
  • used_memory

 

nvidia-smi --query-compute-apps=pid,process_name,used_memory --format=csv -l 1

 

 


1.5. GPU 프로세스 상세 정보

nvidia-smi pmon -c 1

 

# gpu         pid   type     sm    mem    enc    dec    jpg    ofa    command
# Idx           #    C/G      %      %      %      %      %      %    name
    0          -     -      -      -      -      -      -      -    -

 

 

 

 

 

 

 


2. gpustat 

gpustat 설치 

pip install gpustat

 

2.1. 한 번 실행 

gpustat

 

 

2.2. 실시간 모니터링

 

1초 마다 업데이트, 컬러로 프린트 

gpustat --watch  # 1초마다 업데이트

 

Figure 4




3. nvitop 사용 

 

nvitop 설치

pip install nvitop

 

nvitop 실행

 

nvitop

 

Figure 5

 

 

 

 

 

 

 

References:

https://smartest-suri.tistory.com/61

https://github.com/wookayin/gpustat

https://boysboy3.tistory.com/183

https://github.com/XuehaiPan/nvitop

 

 

 

'개발 > Linux' 카테고리의 다른 글

Ubuntu에서 CPU Monitoring  (0) 2024.11.28
Ubuntu 기본 명령어 모음  (0) 2024.11.28