작업 관리자

윈도우를 주로 사용해 온 사람들은 모두 작업 관리자 라는것을 알고 있을 것이다.
간단하게 현재 gpu의 사용량, CPU 클럭등을 알 수 있는 성능 탭도 있다는 것도 모두 알 것이다.
가끔 딥러닝을 윈도우에서 돌릴 때 GPU 팬 도는 속도가 시끄럽에 울리지 않으면,
지금 내 방의 에어컨 온도가 낮아서 그런건지, 아니면 딥러닝이 GPU가 아닌 CPU에서 도는건지 코딩할때 귀찮다고 로그 추가 안해놓면 햇갈릴 때가 있다.
코드에 GPU에 올라가게 넣었다 해도 그 긴 로그 다시 다 보기도 귀찮을 때도 있다.
이럴때 난 주로 GPU 점유율을 보곤 했다.
이 방법을 우분투에서도 할 수 있는 방법이 있다.

간단한 명령어

이것도 방법이 여러 개가 있는데,

  1. 실시간 GPU 상태 확인
    nvidia-smi
    

    GPU 모델명, 드라이버 버전, 현재 온도, 전력 소비량, 현재 GPU 메모리 및 프로세스 점유 상태를 한눈에 볼 수 있다.

  2. 주기적으로 자동 갱신하며 확인
    nvidia-smi는 일회성 명령어이므로, 화면을 켜두고 실시간 변화를 보려면 watch 명령어를 조합해야 한다.
    watch -n 1 nvidia-smi
    

    -n 1은 1초마다 화면을 새로고침하겠다는 의미이다.
    키보드에서 Ctrl + C를 누르면 나갈 수 있다.

  3. 작업 관리자처럼 텍스트 그래픽으로 확인
    더 직관적이고 시각적인 인터페이스를 원한다면 nvtop 도구를 사용하면 된다.
    • 먼저 nvtop 설치해야 한다.
      sudo apt update && sudo apt install nvtop
      
    • 실행
      nvtop
      

      CPU의 htop처럼 GPU별 사용량 추이를 그래프로 보여주며, 어떤 프로세스가 GPU를 많이 쓰는지 실시간으로 모니터링하기 매우 편리하다.
      나도 눈이 좋지 않아 전부 텍스트면 잘 안보일 떄가 많아서, 주로 nvtop를 많이 사용하는 편이다.

결론

아무튼 우분투에서도 비슷한 방법으로 쉽고 편하게 GPU 점유 상태를 체크할 수 있다.
딥러닝 하기에는 윈도우보다는 우분투가 더 좋으니, 나는 추천한다.