12P by neo 1달전 | favorite | 댓글 1개
  • 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: laymanemerge를 통해 nvtop 설치.
  • AppImage: 독립 실행형 애플리케이션으로 제공. 실행 권한 부여 후 실행.
  • Snap: snap install로 설치 후, 프로세스 제어 및 GPU 정보 점검을 위한 권한 부여 필요.
  • Docker: NVIDIA 드라이버 및 nvidia-docker 필요. docker builddocker run으로 실행.

GN⁺의 의견

  • NVTOP은 다양한 GPU 벤더를 지원하며, 리눅스 기반 시스템에서 GPU 모니터링을 위한 강력한 도구임.
  • 이 도구는 시스템 관리자와 개발자들에게 GPU 사용 현황을 실시간으로 파악할 수 있는 효과적인 방법을 제공함.
  • GPU 모니터링은 특히 머신러닝, 데이터 분석, 게임 개발 등 GPU 의존적인 작업을 수행할 때 중요함.
  • NVTOP과 유사한 기능을 제공하는 다른 오픈소스 프로젝트로는 gpustat이 있으며, 사용자는 자신의 필요에 맞는 도구를 선택할 수 있음.
  • 오픈소스 프로젝트인 만큼, 커뮤니티의 기여를 통해 지속적인 개선과 새로운 기능 추가가 이루어질 수 있음.
Hacker News 의견
  • nvtop이나 nvidia-smi는 GPU 사용 상황에 대한 좋은 개요를 제공하지만, 실제 작업 속도를 반영하는 데는 적합하지 않음을 발견함. AI 성능에 관심이 있다면, 개별 커널을 프로파일링하기 위해 Nsight Compute CLI를, 매크로 뷰를 위해서는 Nsight Systems를 추천함. PyTorch를 사용하는 경우 PyTorch 프로파일러 사용을 권장함.
  • apt install이 작동하지 않는 문제에 대해 불만을 표함. NVIDIA와 관련된 설치 문제가 자주 발생하며, 이로 인해 리눅스 재설치 시 많은 시간을 소비해야 함을 지적함. 드라이버, CUDA, CUDA 툴킷, cuDNN 등 여러 계층과 버전 충돌이 혼란을 야기한다고 비판함.
  • Nvitop이라는, 사용자가 선호하는 또 다른 유틸리티를 소개함.
  • nvtopbottom을 리눅스에서 선호하는 자원 모니터로 언급하며, nvtop이 NVIDIA 장치뿐만 아니라 비NVIDIA 장치에서도 작동한다는 사실을 배웠음을 공유함.
  • btop을 선호하는데, 이는 최신 버전에서 일반 프로세스 모니터링뿐만 아니라 GPU 모니터링도 수행함을 언급함.
  • 리눅스 그래픽 카드 유틸리티가 다중 플랫폼을 지원하게 되어 기쁘다고 말하며, 이전의 드라이버별 방식에서 벗어난 것을 긍정적으로 평가함.
  • gpustat이라는 선호하는 유틸리티를 소개하며, 훈련에 문제가 있는지 잘 진행되고 있는지 알 수 있는 최소한의 정보를 제공한다고 설명함.
  • Zenith라는 자신의 프로젝트를 소개하며, 이는 NVIDIA GPU 모니터링뿐만 아니라 디스크, CPU, Top과 같은 기능을 결합한 것임을 설명함.
  • Home Assistant를 사용하게 되면서 모든 데이터 소스를 통합하고 싶어짐을 표현함. 데이터를 원하는 대로 렌더링할 수 있으며, sensors2mqtt라는 프로젝트를 찾아내어 이를 사용하고 싶다는 의견을 나타냄.
  • Nouveau 드라이버를 지원했으면 좋겠다는 바람을 표현함.