우분투 OS에서 GPU 모니터링을 위한 다양한 방법들을 소개한다.
들어가기에 앞서서 엔비디아 드라이버와 쿠다의 설치 확인 및 버젼 확인을 먼저 짚고 넘어간다.
우선 nvidia-smi로 설치된, nvidia-smi의 버젼, Nvidia Driver의 버젼과 Cuda 버젼, 그래픽 카드의 종류를 알 수 있다.
nvcc --version으로 설치된 CUDA의 버젼을 확인할 수 있다.
which nvcc로 CUDA가 설치된 경로를 확인할 수 있다.
Command
1. nvidia-smi
1.1. 한 번 실행
nvidia-smi
1.2. 실시간 모니터링
기본적으로 2초마다 업데이트한다.
-d를 추가하면 바뀐 부분을 하이라이트 한다.
watch -n 2 nvidia-smi # 2초마다 한 번씩 업데이트
watch -d -n 1 nvidia-smi # 변경되 부분 하이라이트 + 1초마다 한 번씩 업데이트
1.3. 실시간 모니터링
k초마다 업데이트
k초 마다 nvidia-smi를 새로 출력하는 방식이다.
nvidia-smi -l 1
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초마다 업데이트
3. nvitop 사용
nvitop 설치
pip install nvitop
nvitop 실행
nvitop
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 |