Nvidia 显卡 Failed to initialize NVML Driver/library version

https://www.zywvvd.com/notes/system/linux/driver/driver-library-version-mismatch/driver-library-version-mismatch/

本文记录错误 Failed to initialize NVML: Driver/library version mismatch 错误解决方案。

问题复现

$ nvidia-smi 

-->
Failed to initialize NVML: Driver/library version mismatch

问题分析

  • NVIDIA 内核驱动版本与系统驱动不一致
查看显卡驱动所使用的内核版本
cat /proc/driver/nvidia/version

-->
NVRM version: NVIDIA UNIX x86_64 Kernel Module  430.34  Wed Jun 26 12:19:48 CDT 2019
GCC version:  gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.12)
  • 内核版本 Kernel Module 为 430.34, 系统内核 16.04.12
查看系统驱动日志
cat /var/log/dpkg.log | grep nvidia

-->
2021-03-30 14:04:55 install libnvidia-compute-460-server:amd64 <none> 460.32.03-0ubuntu0.18.04.2
2021-03-30 14:04:55 status half-installed libnvidia-compute-460-server:amd64 460.32.03-0ubuntu0.18.04.2
2021-03-30 14:04:57 status unpacked libnvidia-compute-460-server:amd64 460.32.03-0ubuntu0.18.04.2
2021-03-30 14:04:57 status unpacked libnvidia-compute-460-server:amd64 460.32.03-0ubuntu0.18.04.2
2021-03-30 14:05:15 install nvidia-cuda-dev:amd64 <none> 9.1.85-3ubuntu1
2021-03-30 14:05:15 status half-installed nvidia-cuda-dev:amd64 9.1.85-3ubuntu1
2021-03-30 14:05:34 status unpacked nvidia-cuda-dev:amd64 9.1.85-3ubuntu1
2021-03-30 14:05:34 status unpacked nvidia-cuda-dev:amd64 9.1.85-3ubuntu1
2021-03-30 14:05:34 install nvidia-cuda-doc:all <none> 9.1.85-3ubuntu1
2021-03-30 14:05:34 status half-installed nvidia-cuda-doc:all 9.1.85-3ubuntu1
2021-03-30 14:05:38 status unpacked nvidia-cuda-doc:all 9.1.85-3ubuntu1
2021-03-30 14:05:38 status unpacked nvidia-cuda-doc:all 9.1.85-3ubuntu1
2021-03-30 14:05:38 install nvidia-cuda-gdb:amd64 <none> 9.1.85-3ubuntu1
2021-03-30 14:05:38 status half-installed nvidia-cuda-gdb:amd64 9.1.85-3ubuntu1
2021-03-30 14:05:39 status unpacked nvidia-cuda-gdb:amd64 9.1.85-3ubuntu1
2021-03-30 14:05:39 status unpacked nvidia-cuda-gdb:amd64 9.1.85-3ubuntu1
2021-03-30 14:05:39 install nvidia-profiler:amd64 <none> 9.1.85-3ubuntu1
2021-03-30 14:05:39 status half-installed nvidia-profiler:amd64 9.1.85-3ubuntu1

  • 可以看到曾经安装过系统内核 18.04 的 460.32 的驱动
查看驱动程序
sudo dpkg --list | grep nvidia-*

-->
ii  libnvidia-compute-460-server:amd64   460.32.03-0ubuntu0.18.04.2                 amd64        NVIDIA libcompute package
ii  libnvidia-container-tools            1.0.5-1                                    amd64        NVIDIA container runtime library (command-line tools)
ii  libnvidia-container1:amd64           1.0.5-1                                    amd64        NVIDIA container runtime library
ii  nvidia-container-runtime             3.1.4-1                                    amd64        NVIDIA container runtime
ii  nvidia-container-toolkit             1.0.5-1                                    amd64        NVIDIA container runtime hook
ii  nvidia-cuda-dev                      9.1.85-3ubuntu1                            amd64        NVIDIA CUDA development files
ii  nvidia-cuda-doc                      9.1.85-3ubuntu1                            all          NVIDIA CUDA and OpenCL documentation
  • 可以看到系统安装了ubuntu 内核18.04 下的 nvidia 460 驱动
  • 实际系统内核版本与驱动需求的版本不一致是问题产生的根源

解决方案

  • 卸载现有驱动,重新安装
卸载驱动
sudo /usr/bin/nvidia-uninstall
sudo apt-get --purge remove nvidia-*
sudo apt-get purge nvidia*
sudo apt-get purge libnvidia*
  • 直到命令不输出任何内容
sudo dpkg --list | grep nvidia-*
  • 重新安装
sudo chmod a+x NVIDIA-Linux-x86_64-450.80.02.run
sudo ./NVIDIA-Linux-x86_64-450.80.02.run -no-x-check -no-nouveau-check -no-opengl-files

–no-opengl-files 只安装驱动文件,不安装OpenGL文件

–no-x-check 安装驱动时不检查X服务

–no-nouveau-check 安装驱动时不检查nouveau

查看驱动更新结果

$ nvidia-smi

参考资料

当使用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-smi】Failed to initialize NVML: Driver/library version mismatch解决方法(不用重启)](https://blog.youkuaiyun.com/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 ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值