- NVTop = "Neat Videocard TOP"
- GPU와 가속기를 위한 태스크 모니터
- 여러대의 GPU에 대한 정보를 처리하며, htop과 비슷한 방식으로 정보를 출력
- 현재 지원 벤더 : AMD (Linux amdgpu 드라이버), Apple (제한적인 M1 & M2 지원), Huawei (Ascend), Intel (Linux i915 드라이버), NVIDIA (Linux 전용 드라이버), Qualcomm Adreno (Linux MSM 드라이버)
NVTOP 옵션 및 인터랙티브 명령어
- 인터랙티브 설정 창:
F2를 눌러 사용자의 필요에 맞게 인터페이스를 특화할 수 있는 설정 유틸리티 제공. - 환경 설정 저장: 설정 창에서 설정한 환경을
F12를 눌러 저장하면, 다음 번nvtop실행 시 불러옴. - NVTOP 매뉴얼 및 명령어 옵션: 매뉴얼 페이지 제공(
man nvtop), 명령어 도움말은nvtop -h또는nvtop --help로 확인 가능.
GPU 지원
- AMD:
amdgpu드라이버를 통한 AMD GPU 지원. 커널 5.14 이상에서 GPU를 사용하는 프로세스 확인 가능. - Intel:
i915리눅스 드라이버를 통한 Intel GPU 지원. 커널 5.19 이상에서 GPU를 사용하는 프로세스 확인 가능. - NVIDIA: NVML 라이브러리를 통한 지원. 케플러 마이크로아키텍처 이전의 GPU는 일부 쿼리를 지원하지 않음.
- Adreno:
msm리눅스 드라이버를 통한 Adreno GPU 지원. 커널 6.0 이상에서 GPU를 사용하는 프로세스 확인 가능. - Apple: Metal을 사용한 Apple에 대한 초기 지원 포함. Apple 빌드 시에만 지원.
- Ascend: DCMI API(버전 6.0.0)를 통한 Ascend 지원. 현재 DCMI는 제한된 API만 지원.
빌드
- 필요 라이브러리: ncurses(사용자 인터페이스), NVIDIA(NVML), AMD(libdrm), Intel(i915) 등.
- 빌드 과정:
git clone으로 소스 코드를 복제하고,cmake로 빌드 후make install로 시스템에 설치.
배포별 설치 과정
- Ubuntu / Debian:
snap또는apt를 통한 설치 지원. PPA를 통해 최신 버전의nvtop설치 가능. - Fedora / Red Hat / CentOS: AppImage 또는
dnf를 통한 설치 지원. - OpenSUSE:
zypper를 통한 설치 지원. - Arch Linux:
pacman을 통해nvtop설치. - Gentoo:
layman과emerge를 통해nvtop설치. - AppImage: 독립 실행형 애플리케이션으로 제공. 실행 권한 부여 후 실행.
- Snap:
snap install로 설치 후, 프로세스 제어 및 GPU 정보 점검을 위한 권한 부여 필요. - Docker: NVIDIA 드라이버 및
nvidia-docker필요.docker build와docker run으로 실행.
GN⁺의 의견
- NVTOP은 다양한 GPU 벤더를 지원하며, 리눅스 기반 시스템에서 GPU 모니터링을 위한 강력한 도구임.
- 이 도구는 시스템 관리자와 개발자들에게 GPU 사용 현황을 실시간으로 파악할 수 있는 효과적인 방법을 제공함.
- GPU 모니터링은 특히 머신러닝, 데이터 분석, 게임 개발 등 GPU 의존적인 작업을 수행할 때 중요함.
- NVTOP과 유사한 기능을 제공하는 다른 오픈소스 프로젝트로는
gpustat이 있으며, 사용자는 자신의 필요에 맞는 도구를 선택할 수 있음. - 오픈소스 프로젝트인 만큼, 커뮤니티의 기여를 통해 지속적인 개선과 새로운 기능 추가가 이루어질 수 있음.