[GPU] nvidia-smi의 시대는 갔다?

서쿠·2024년 9월 13일
3

환경구축

목록 보기
4/4
post-thumbnail

안녕하세요! 리눅스 사용자이자 GPU 활용에 관심이 많은 분들을 위한 흥미로운 내용을 소개해 드리려고 합니다. 오늘은 NVIDIA GPU 모니터링 도구로 큰 인기를 끌고 있는 nvtop과 함께, 그보다 더 많은 기능을 제공하는 nvitop에 대해 알아보겠습니다.

대부분의 분들이 nvidia-smi를 통해 GPU 상태를 확인해 오셨을 텐데요, nvtopnvitop은 nvidia-smi를 넘어서는 다양한 기능과 직관적인 UI를 제공하는 툴입니다. 저도 지금까지 nvidia-smi를 사용해왔지만, 최근 들어서 대세(?)라는 nvtopnvitop을 사용해보려고 하고 있습니다!! 🤗

그럼 이 두 가지 도구를 비교하며 자세히 살펴보겠습니다!


nvtop이란?

nvtopNVIDIA GPU를 실시간으로 모니터링할 수 있는 대화형 도구입니다. htop과 유사한 방식으로, 터미널에서 직관적인 그래픽 UI를 제공하여 GPU의 상태를 한눈에 파악할 수 있습니다. 여러 GPU 환경에서도 각각의 GPU 사용률, 메모리 상태, 프로세스 등을 동시에 모니터링할 수 있는 강력한 기능을 가지고 있습니다.

주요 기능

  • 실시간으로 GPU 사용률과 메모리 사용량 모니터링
  • GPU에 연결된 모든 프로세스 정보 제공
  • 다중 GPU 모니터링 지원
  • 팬 속도, 전력 소비량 등 하드웨어 정보 확인 가능

nvitop이란?

nvitopnvtop과 유사하게 NVIDIA GPU 모니터링을 위한 대화형 도구입니다. 다만, nvitop은 nvtop보다 더 많은 기능을 제공하며, GPU 모니터링과 관련된 다양한 정보를 실시간으로 확인할 수 있습니다. 특히 프로세스 관리와 GPU 정보 표시 측면에서 더 세밀한 옵션을 제공합니다.

nvitop은 nvidia-smi의 정보 제공 능력, gpustat의 컬러링, 그리고 nvtop의 대화형 모니터링 기능을 결합한 원스톱 솔루션이라고 할 수 있습니다. 실시간 GPU 사용 정보를 제공할 뿐 아니라, 트리 뷰로 프로세스 구조를 확인하거나, 특정 GPU의 상태만 모니터링하는 등의 고급 기능도 갖추고 있습니다.

주요 기능

  1. 실시간 모니터링: GPU 사용률, 메모리 사용량, 온도 등을 실시간으로 확인 가능
  2. 프로세스 관리: GPU에서 실행 중인 프로세스를 정렬, 필터링, 종료 가능
  3. 트리 뷰: 부모 프로세스와 자식 프로세스 관계를 트리 구조로 표시
  4. 환경 변수 확인: 프로세스의 환경 변수를 쉽게 확인 가능
  5. 사용자 친화적 인터페이스: 정보가 풍부한 컬러 인터페이스 제공

nvtop 설치 방법

리눅스 배포판에 따라 설치 방법이 조금 다르지만, 일반적으로 Ubuntu/Debian 계열에서는 패키지 관리자를 통해 쉽게 설치할 수 있습니다.

sudo apt install nvtop

다른 배포판에서는 소스를 직접 빌드해야 할 수 있습니다. 이 경우 다음 명령어를 사용하여 설치할 수 있습니다:

sudo apt install cmake libncurses5-dev libncursesw5-dev git
git clone https://github.com/Syllo/nvtop.git
mkdir -p nvtop/build && cd nvtop/build
cmake ..
make
sudo make install

nvitop 설치 방법

nvitop은 pip를 통해 설치할 수 있습니다. Python 환경에서 설치가 매우 간단하며, 다음 명령어를 사용하세요:

pip install --upgrade nvitop

또한, conda 환경에서도 설치할 수 있으며, 가상 환경에 설치하는 것을 추천드립니다.

conda install -c conda-forge nvitop

사용법 비교

nvtop 사용법

nvtop

이 명령어로 nvtop을 실행하면 GPU 사용률, 메모리 사용량, 실행 중인 프로세스, 온도, 전력 소비량 등을 실시간으로 볼 수 있습니다. 또한, 다양한 단축키를 통해 모니터링 환경을 쉽게 조정할 수 있습니다.

  • F2: 설정 창 열기 (Setup Window)
  • F12: 설정 저장
  • q 또는 Esc: 종료
  • h: 도움말 표시

nvitop 사용법

nvitop

기본적으로 nvitop 명령어로 GPU 상태를 모니터링할 수 있으며, 다양한 옵션을 통해 더 세밀한 정보를 볼 수 있습니다. 예를 들어, 특정 GPU만 모니터링하거나, 트리 구조로 프로세스를 확인할 수 있습니다.

nvitop -1 -o 0 1  # GPU 0과 1만 표시
nvitop -t         # 트리 뷰 활성화

nvitop은 Python API도 제공하여, 사용자가 원하는 방식으로 GPU 모니터링 데이터를 활용할 수 있습니다.


주요 차이점

특징nvtopnvitop
설치 방법패키지 관리자 또는 소스 빌드pip 또는 conda 설치
사용자 인터페이스직관적인 그래픽 UI풍부한 정보와 다양한 옵션을 제공하는 UI
프로세스 관리GPU 자원 사용 프로세스 정보 제공트리 뷰, 환경 변수 조회, 프로세스 필터링 등
실시간 업데이트실시간 업데이트 가능실시간 업데이트 + 더 많은 세부 정보 제공
다중 GPU 지원지원지원

결론

nvtopnvitop은 모두 NVIDIA GPU 모니터링에 매우 유용한 도구입니다.

두 도구 모두 직관적인 UI를 제공하고, 실시간으로 GPU 사용량을 모니터링할 수 있으며, 여러 GPU 환경에서도 유용하게 사용할 수 있습니다.

  • nvtop은 간단하고 직관적인 UI로 GPU 상태를 실시간으로 모니터링하기에 적합한 도구입니다.
  • nvitop은 더 많은 기능과 세밀한 조정이 가능한 고급 도구로, 프로세스 관리트리 뷰, API 지원이 필요한 환경에 특히 유용합니다.

자신의 필요에 따라 nvtop 또는 nvitop을 선택해 GPU 상태를 모니터링해보세요!

profile
Always be passionate ✨

1개의 댓글

comment-user-thumbnail
2024년 9월 19일

좋은 글 감사드립니다!

답글 달기