nvidia-smi 66일 후 멈춤 버그: 리눅스 개발자가 알아야 할 것
개요
NVIDIA GPU 모니터링 도구인 nvidia-smi가 약 66일 후 무한정 멈추는 버그가 발견되었습니다. 이 문제의 원인과 해결 방법을 알아봅니다.
버그 현상
# 66일 후 nvidia-smi 실행 시
$ nvidia-smi
# 무한 대기 상태... (응답 없음)증상
- 정확히 5,702,400초 (66일 + α) 후 발생
- 시스템 전체가 아닌 nvidia-smi만 영향
- GPU는 정상 작동하지만 모니터링 불가
원인 분석
이 버그는 정수 오버플로우와 관련된 것으로 추정됩니다:
// 의심되는 코드 패턴
uint32_t uptime_seconds = get_uptime();
// 32비트 정수의 한계: 4,294,967,295
// 하지만 내부 계산에서 오버플로우 발생 가능임시 해결 방법
방법 1: 서비스 재시작
sudo systemctl restart nvidia-persistenced방법 2: 드라이버 모듈 재로드
sudo rmmod nvidia_uvm nvidia_drm nvidia_modeset nvidia
sudo modprobe nvidia방법 3: 주기적 재시작 크론잡
# /etc/cron.d/nvidia-restart
0 0 */60 * * root systemctl restart nvidia-persistenced영향받는 환경
- NVIDIA 오픈소스 커널 모듈
- 장기 운영 서버 (60일 이상)
- ML/AI 워크로드 환경
모범 사례
- 모니터링 설정: nvidia-smi 응답 시간 체크
- 알림 구성: 응답 없을 시 자동 알림
- 정기 유지보수: 60일 주기로 재시작 예약
마무리
장기 운영 시스템에서는 이런 숨겨진 버그가 문제가 됩니다. 모니터링과 자동화된 유지보수가 필수입니다.