解决nvidia-smi “Failed to initialize NVML: Driver/library version mismatch”
·
nvidia-smi 错误信息
nvidia-smi
NVIDIA System Management Interface是用来查看NVIDIA GPU设备的一个命令行工具。今天发现有如下错误。
# 错误信息
myid@[hostname]:~$ nvidia-smi
Failed to initialize NVML: Driver/library version mismatch
NVML library version: 535.146
分析过程
这个问题还是挺常见的,在此主要记录一下我遇到的具体情况。
查看升级日志
在2024-01-11
发生了升级操作。不是工作时段,很可能是自动完成的。
myid@[hostname]:~$ cat /var/log/dpkg.log |grep nvidia|grep libnvidia-common
2024-01-11 06:55:01 upgrade libnvidia-common-535:all 535.129.03-0ubuntu0.22.04.1 535.146.02-0ubuntu0.22.04.1
2024-01-11 06:55:01 status half-configured libnvidia-common-535:all 535.129.03-0ubuntu0.22.04.1
2024-01-11 06:55:01 status unpacked libnvidia-common-535:all 535.129.03-0ubuntu0.22.04.1
2024-01-11 06:55:01 status half-installed libnvidia-common-535:all 535.129.03-0ubuntu0.22.04.1
2024-01-11 06:55:01 status unpacked libnvidia-common-535:all 535.146.02-0ubuntu0.22.04.1
2024-01-11 06:55:01 configure libnvidia-common-535:all 535.146.02-0ubuntu0.22.04.1 <none>
2024-01-11 06:55:01 status unpacked libnvidia-common-535:all 535.146.02-0ubuntu0.22.04.1
2024-01-11 06:55:01 status half-configured libnvidia-common-535:all 535.146.02-0ubuntu0.22.04.1
2024-01-11 06:55:01 status installed libnvidia-common-535:all 535.146.02-0ubuntu0.22.04.1
查看当前运行的driver version
当前运行的driver version还是535.129.03
。
# driver version还是535.129
myid@[hostname]:~$ cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86_64 Kernel Module 535.129.03 Thu Oct 19 18:56:32 UTC 2023
GCC version:
查看已安装的driver version
可以看到其实driver 535.146.02
已经安装了,只是运行的还是旧版本。
# driver version 535.146已经安装
myid@[hostname]:~$ apt list --installed |grep -i nvidia-driver
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
nvidia-driver-535/now 535.146.02-0ubuntu0.22.04.1 amd64 [installed,local]
根据网上类似问题的线索,大概率是自动升级后library立即更新,而driver由于是kernal module不会自动运行新版本导致两者不匹配。
所以后续最好关闭自动更新。
解决
reboot
什么也不需要做,reboot 后 driver version 就更新了。在下文可以看到reboot后driver已更新到535.146.02
,和NVML保持一致了。
myid@[hostname]:~$ cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86_64 Kernel Module 535.146.02 Sun Dec 3 14:06:14 UTC 2023
GCC version: gcc version 12.3.0 (Ubuntu 12.3.0-1ubuntu1~22.04)
nvidia-smi
也可以正常使用了。
myid@[hostname]:~$ nvidia-smi
Fri Jan 26 14:08:38 2024
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.146.02 Driver Version: 535.146.02 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 4080 Off | 00000000:65:00.0 Off | N/A |
| 57% 28C P8 13W / 320W | 9MiB / 16376MiB | 0% Default |
| | | N/A |
+-----------------------------------------+----------------------+----------------------+
+---------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=======================================================================================|
| 0 N/A N/A 1377 G /usr/lib/xorg/Xorg 4MiB |
+---------------------------------------------------------------------------------------+
关闭自动更新
这里不是很确定是否正确。
通过X11连接到Ubuntu服务器桌面。原来的设定如下,我把Subscribed to
和 Automatically check for updates
都改了,不知道是否管用。
更多推荐
已为社区贡献1条内容
所有评论(0)