nvitop은 상호작용이 가능한 NVIDIA 장치 및 프로세스 모니터링 도구입니다. 이 도구는 장치와 프로세스의 상태를 지속적으로 업데이트하며, 컬러풀하고 유용한 인터페이스를 제공합니다.
https://github.com/XuehaiPan/nvitop?tab=readme-ov-file
리소스 모니터로서 tree-view, 환경 변수 보기, 프로세스 필터링, 프로세스 메트릭 모니터링 등의 다양한 기능과 옵션을 포함하고 있습니다. 그 외에도, 딥러닝 연구자들을 위해 CUDA 장치 선택 도구인 nvisel을 제공합니다. 또한, 개발자가 자신만의 모니터링 도구를 작성할 수 있도록 편리한 API도 제공합니다.
주요기능
무엇보다도, 예쁩니다
- 색상이 들어간 멋진 UI를 통해 nvidia-smi보다 더 많은 정보를 제공합니다.
모니터 모드
결과를 한 번만 출력하는 대신, 리소스 모니터로 실행 가능합니다.
- 막대 차트와 히스토리 그래프
- 프로세스 정렬
- 프로세스 필터링
- keystroke로 프로세스에 신호 보내기
- GPU 프로세스와 해당 부모 프로세스를 위한 tree-view 화면
- 환경 변수 화면
- 도움말 화면
- 마우스 지원
상호작용 가능
모니터 모드에서 사용자의 입력(키보드 및/또는 마우스)에 반응합니다. (vs. gpustat & py3nvml)
효율적
- nvidia-smi의 출력을 파싱하는 대신 NVML Python 바인딩을 직접 사용하여 장치 상태를 쿼리합니다. (vs. nvidia-htop)
- cachetools의 TTLCache를 사용하여 희소 쿼리와 캐시 결과를 지원합니다. (vs. gpustat)
- ANSI 이스케이프 코드로 출력하는 대신 curses 라이브러리를 사용하여 정보를 표시합니다. (vs. py3nvml)
- 멀티스레딩을 사용하여 비동기적으로 정보를 수집하고 사용자 입력에 더 빠르게 응답합니다. (vs. nvtop)
이식성
Linux와 Windows에서 모두 작동합니다.
- 하위 프로세스에서 ps -p <pid> 명령을 호출하는 대신, 크로스 플랫폼 라이브러리인 psutil을 사용하여 호스트 프로세스 정보를 가져옵니다. (vs. nvidia-htop & py3nvml)
- 순수 Python으로 작성되었으며 pip으로 쉽게 설치할 수 있습니다. (vs. nvtop)
통합 가능
모니터링 이상의 다른 애플리케이션에 쉽게 통합할 수 있습니다. (vs. nvidia-htop & nvtop)
설치
pipx와 같이 격리된 가상 환경에 nvitop을 설치하는 것을 추천합니다.
pipx run nvitop
Install from PyPI
pip3 install --upgrade nvitop
Install from conda-forge
conda install -c conda-forge nvitop
사용 예시
nvitop -1
Full nvitop
Compact nvitop
Tree-view 화면 (단축키: t)
환경 변수 화면 (단축키: e)
스펙트럼처럼 보이는 바 차트
'AI > MLOps' 카테고리의 다른 글
MLflow Models (1) | 2024.12.05 |
---|---|
LitServe 리뷰 (1) | 2024.08.31 |
Triton Inference Server #5. Python Backend (0) | 2024.05.12 |
Triton Inference Server #4. Model Configuration (0) | 2024.05.12 |
Triton Inference Server #3. Model Management & Repository (0) | 2024.05.12 |