728x90
반응형
Overview
서버에 GPU 드라이버를 설치하고 `nvidia-smi` 를 실행했는데 아래와 같은 오류가 발생한 적 있으신가요?
nvidia-smi
Failed to initialize NVML: Driver/library version mismatch
이 오류는 대부분 NVIDIA 드라이버 커널 모듈과 유틸리티 라이브러리 간의 버전 불일치로 인해 발생한다. 본 글에서는 이 문제의 원인 분석부터 해결 방법, 그리고 향후 재발 방지 팁까지 단계별로 소개한다.

문제 증상
nvidia-smi
Failed to initialize NVML: Driver/library version mismatch
`dmesg` 확인
dmesg | grep NVRM
...
NVRM: API mismatch: the client has the version 535.183.06,
NVRM: but this kernel module has the version 535.183.01.
- 현재 유틸리티는 535.183.06, 커널 모듈은 535.183.01 → 버전 불일치 발생
원인 분석
- `unattended-upgrade` 에 의해 nvidia 관련 패키지가 자동 업데이트되면서 일부만 교체됨
- `nvidia-dkms` 커널 모듈이 다시 컴파일되지 않아 이전 버전이 그대로 로드됨
- 재부팅 없이 모듈 재로드되지 않아 충돌 발생
해결 방법
로드된 NVIDIA 커널 모듈 확인
lsmod | grep nvidia
...
nvidia 56713216 ...
nvidia_modeset ...
nvidia_uvm ...
관련 프로세스 종료
lsof /dev/nvidia*
kill -9 <PID들>
lsof /dev/nvidia* # 다시 확인해서 남은 거 없애기
NVIDIA 모듈 언로드
sudo modprobe -r nvidia_uvm nvidia_drm nvidia_modeset nvidia
- `modprobe -r` 로드 해제 시 순서 중요: `uvm → drm → modeset → nvidia`
DKMS 재설치 or 재부팅
sudo dpkg-reconfigure nvidia-dkms-535-server
# 또는
sudo reboot
정상 동작 확인
nvidia-smi
...
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.183.06 Driver Version: 535.183.06 CUDA Version: 12.2 |
|-----------------------------------------+----------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+======================+======================|
| 0 NVIDIA GeForce RTX 2080 Ti Off | 00000000:17:00.0 Off | N/A |
| 27% 28C P8 9W / 250W | 0MiB / 11264MiB | 0% Default |
| | | N/A |
+-----------------------------------------+----------------------+----------------------+
| 1 NVIDIA GeForce RTX 2080 Ti Off | 00000000:B3:00.0 Off | N/A |
| 27% 29C P8 11W / 250W | 0MiB / 11264MiB | 0% Default |
| | | N/A |
+-----------------------------------------+----------------------+----------------------+
+---------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=======================================================================================|
| No running processes found |
+---------------------------------------------------------------------------------------+
재발 방지 설정
`unattended-upgrades` 예외 설정
자동 업데이트에서 NVIDIA 관련 패키지를 제외해야 유사 문제를 예방할 수 있다.
sudo vi /etc/apt/apt.conf.d/50unattended-upgrades
...
Unattended-Upgrade::Package-Blacklist {
"nvidia-*";
};
저장 후 적용한다.
sudo systemctl restart unattended-upgrades
마무리
이번 트러블슈팅 사례는 GPU 기반 서버 운영에서 매우 자주 발생하는 문제 중 하나이다. 특히 머신러닝, 딥러닝 클러스터 운영 중이라면 GPU 드라이버 버전 관리는 더욱 중요하다.
요약
- nvidia-smi 오류 → 커널 모듈과 라이브러리 불일치
- 프로세스 종료 + 모듈 언로드 → 수동 복구 가능
- `unattended-upgrades` 블랙리스트 등록으로 재발 방지
이번 글을 통해 NVIDIA 드라이버 오류를 해결하고, 서버 환경에서도 GPU를 안정적으로 운용할 수 있는 기반을 다질 수 있기를 바란다.
Reference
- NVIDIA 공식 Driver API mismatch 오류 설명
https://docs.nvidia.com/deploy/driver-version-mismatch.html - NVIDIA Linux Driver Install Guide
https://docs.nvidia.com/datacenter/tesla/tesla-installation-notes/index.html - CUDA Compatibility Guide for Linux
https://docs.nvidia.com/deploy/cuda-compatibility/ - Ubuntu DKMS / NVIDIA Driver 트러블슈팅
https://wiki.ubuntu.com/NvidiaDrivers - Unattended Upgrades 공식 문서
https://wiki.debian.org/UnattendedUpgrades
728x90
반응형
'Trouble Shooting' 카테고리의 다른 글
| Kubernetes Redis 클러스터 장애 처리 및 복구 가이드 (1) | 2026.01.13 |
|---|---|
| GitLab VM 장애 복구: NBD 마운트와 백업 복원으로 서비스 재구축하기 (2) | 2025.12.10 |
| Terraform 상태 관리 오류 해결 완전 가이드 (0) | 2025.09.02 |
| Kubernetes Pod 재시작 시 에러 해결 (0) | 2025.08.20 |
| DB Connection Error (ECONNRESET) 문제 해결 (2) | 2025.08.06 |