解决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 toAutomatically check for updates 都改了,不知道是否管用。
Software & Updates

  • 5
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
当使用nvidia-smi命令时,出现"Failed to initialize NVML: Driver/library version mismatch"错误,这意味着您的显卡驱动与内核版本不匹配。该错误通常发生在系统自动更新了显卡驱动程序的情况下,而没有及时同步更新内核。这是一个非人为因素导致的问题。 为了解决这个问题,有一种方法可以尝试,而不需要重启服务器。您可以通过卸载现有的NVIDIA驱动程序并重新安装匹配的驱动程序来解决版本不匹配的问题。以下是详细步骤: 1. 首先,您需要确定您正在使用的驱动程序的版本。使用以下命令检查已安装的NVIDIA驱动程序版本: ``` nvidia-smi ``` 2. 然后,根据您的驱动程序版本,访问NVIDIA官方网站(https://www.nvidia.com/drivers)下载相应的驱动程序,确保它与您的内核版本兼容。 3. 在下载并安装驱动程序之前,您需要通过卸载已安装的驱动程序来清理系统。使用以下命令卸载驱动程序: ``` sudo apt purge nvidia* ``` 4. 安装新的驱动程序。您可以使用以下命令进行安装: ``` sudo sh NVIDIA-Linux-x86_64-xxx.xx.run ``` 其中“NVIDIA-Linux-x86_64-xxx.xx.run”是您下载的驱动程序文件的名称。 5. 安装完成后,重新启动系统以使更改生效。 通过执行以上步骤,您应该能够解决"Failed to initialize NVML: Driver/library version mismatch"错误,并使nvidia-smi命令正常工作。请确保下载和安装适用于您的驱动程序版本和内核版本的正确驱动程序。 此外,您还可以使用以下命令来查看nvidia模块的使用情况: ``` lsmod | grep nvidia ``` 这将显示与nvidia相关的模块列表,以确认驱动程序是否正确加载。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [【nvidia-smiFailed to initialize NVML: Driver/library version mismatch解决方法(不用重启)](https://blog.csdn.net/qq_48081868/article/details/122349627)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值