안녕하세요. 연구실 공용 GPU 서버를 쓰면서 필요해서 만든 터미널 모니터를 공유합니다.
보통 GPU 모니터링은 nvidia-smi가 익숙한데요. (다른 유명한 툴으로는 btop, nvtop, nvitop 등이 있습니다.)
공용 GPU 서버에서 정말 궁금한 건 몇 가지 안됩니다.
어느 GPU가 비었는지, 누가 어디서 뭘 돌리는지, 내 학습이 GPU를 제대로 쓰고 있는지.
그런걸 한 눈에 파악하거나 조작하기가 어려워서, 마우스 클릭 기반의 모니터링 툴을 만들었습니다.

- GPU마다 박스 하나에 사용률 그래프와 그 위의 작업들 (계정·환경별)
- "GPU 100%"가 실제로 얼마나 바쁜 건지 (H100 이상: 코어, 텐서 코어 구분 표시)
- 문제가 있을 때만 뜨는 경고: 전력·온도 때문에 느려짐, PCIe 링크 저하
- 멈춘 내 작업은 눌러서 바로 정리 (PID 찾을 필요 없이, 내 것만)
기존 툴들이 너무 못생겨서, 예쁘게도 만들었습니다. 그래프는 높이마다 색이 부드럽게 이어지고,
색은 호쿠사이, 히로시게, 반 고흐 등의 미술 작품에서 가져온 테마 14개 중에 고를 수 있습니다.
watch nvidia-smi는 생각보다 무겁습니다. nvmon은 그보다 약 10배 가볍게 만들었습니다.
설치는 uv tool install nvmon 한 줄, 인터넷이 막힌 서버엔 .py 파일 하나만 복사하면 됩니다.
혼자 만들어서 쓰는데, 혹시 유용하게 쓰실 분이 있으실까 해서 올려봅니다..
읽어주셔서 감사합니다.. (꾸벅)