XuehaiPan/nvitop
An interactive NVIDIA-GPU process viewer and beyond, the one-stop solution for GPU process management.
nvitop – 인터랙티브 NVIDIA GPU 프로세스 뷰어
개요
- 순수 Python 기반의 크로스 플랫폼 명령줄 도구로, NVIDIA GPU와 이를 사용하는 프로세스에 대한 상세하고 다채로운 정보를 표시합니다.
nvidia-smi처럼 한 번 실행하거나 인터랙티브 컨트롤이 있는 라이브 “모니터” 모드로 계속 실행할 수 있습니다.
AI/ML에 중요한 이유
- 딥러닝 워크로드는 NVIDIA GPU에서 실행됩니다. 어떤 작업이 어떤 GPU를 사용하는지, 메모리/사용률을 알고, 실행 중인 프로세스를 종료하거나 신호를 보낼 수 있는 것은 공유 클러스터나 단일 머신 워크스테이션을 관리하는 연구자와 엔지니어에게 필수적입니다.
주요 기능
- 풍부한 출력 –
nvidia-smi보다 많은 필드(예: 프로세스 트리, 환경 변수)를 색상화된 박스 드로잉으로 표시. - 모니터 모드 – 막대 차트, 기록 그래프, 프로세스 정렬/필터링, 마우스/키보드 상호 작용이 있는 라이브 업데이트 보기.
- 프로세스 제어 – 선택한 프로세스에 UI에서 직접 SIGINT/TERM/KILL 전송(관리자는
sudo nvitop). - CUDA 가시 디바이스 선택기 – 번들된
nvisel도구로 실험을 위한CUDA_VISIBLE_DEVICES설정 지원. - 크로스 플랫폼 – Linux 및 Windows에서 작동(후자는
windows-curses사용). - 빠르고 효율적 –
nvidia-ml-py바인딩을 통해 NVIDIA Management Library(NVML)와 통신하고,cachetools로 쿼리를 캐시하며, 백그라운드 스레드에서 데이터를 수집. - 통합 가능 – 사용자 정의 모니터링 스크립트나 대시보드 구축을 위한 저수준 Python API(
Device,Process,Host) 제공. - 내보내기 및 Grafana 지원 – 별도의
nvitop-exporter가 메트릭을 Prometheus/Grafana로 푸시할 수 있습니다.
설치
# 권장: uvx 또는 pipx로 격리된 환경에서 실행
uvx nvitop # 또는
pipx run nvitop
# 또는 PyPI / conda-forge에서 설치
pip install -U nvitop
conda install -c conda-forge nvitop
GitHub 저장소에서 직접 설치할 수도 있습니다: pip install git+https://github.com/XuehaiPan/nvitop.git
기본 사용법
- 일회성 쿼리(
nvidia-smi와 동일):nvitop -1 - GPU 0 및 1만 표시:
nvitop -1 -o 0 1 - 라이브 모니터(기본값):
nvitop - 모니터 레이아웃 전환:
-m auto|full|compact(또는 UI 내에서a、f、c키 누르기) - 컴퓨트 컨텍스트가 있는 프로세스로 필터링:
-c - ASCII 문자만 사용(일반 터미널용):
-U - 읽기 전용 모드(kill/terminate 단축키 없음):
--readonly
인터랙티브 컨트롤(모니터 모드)
| 키 | 동작 |
|---|---|
Ctrl-C / T / K |
선택한 프로세스 중단/종료/강제 종료 |
t |
트리 뷰 화면 열기(신호 전송에 권장) |
Enter |
라이브 그래프가 있는 프로세스별 메트릭 화면 열기 |
h |
도움말 화면 표시 |
q |
종료 |
| 화살표 키 / 마우스 | 행 탐색 |
CUDA 가시 디바이스 선택기
- 동봉된 CLI
nvisel을 실행하여 새 프로세스에 표시할 GPU를 인터랙티브하게 선택하여 실험 설정을 간소화합니다.
모니터를 넘어
- 이 패키지에는 GPU 통계를 Prometheus로 내보낼 수 있는 리소스 메트릭 수집기(
nvitop-exporter)가 포함되어 Grafana 대시보드를 지원합니다(README의 스크린샷 참조). - 저수준 Python API를 통해 개발자는 자신의 도구나 노트북에 GPU 상태 점검을 포함할 수 있습니다.
요구 사항
- Python 3.8 이상
- NVML 라이브러리가 포함된 NVIDIA 드라이버(드라이버 또는 CUDA 툴킷에 번들)
nvidia-ml-py,psutil, Unix에서는curses(Windows에서는windows-curses패키지 필요).
문서 및 지원
- 전체 API 문서: https://nvitop.readthedocs.io
- PyPI 페이지, conda-forge 패키지, GitHub 이슈에서 버그 보고.
nvitop은 NVIDIA GPU에서 AI/ML 워크로드를 실행하는 모든 사람에게 실용적인 유틸리티로, 표준 nvidia-smi 도구보다 풍부하고 인터랙티브한 GPU 상태 및 프로세스 사용 현황 보기를 제공합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트