Failed to initialize NVML: Driver/library version mismatch?

Failed to initialize NVML: Driver/library version mismatch?

问题描述

之前好好的,一段时间之后,在调用 nvidia-smi 的时候出现一下错误,大无语事件

Failed to initialize NVML: Driver/library version mismatch?

出错描述:在运行查看显卡信息的时候报错 Failed to initialize NVML: Driver/library version mismatch

出错原因:版本不匹配(nvidia的内核版本信息与系统的驱动版本不匹配)

问题处理

(1)首先查看显卡驱动所需的内核版本信息

cat /proc/driver/nvidia/version

可以看到:

  • 系统的版本18.04 内核版本为 495.44
  • gcc 的版本信息为7.5.0 如果不知道gcc的相关版本操作,查看另外一篇博客 gcc、g++安装

Failed to initialize NVML: Driver/library version mismatch?

(2)查看系统的驱动版本

sudo dpkg --list | grep nvidia-*

可以看到:驱动版本信息是 495.46 而上面的那个还是旧的版本495.44,版本不一致

Failed to initialize NVML: Driver/library version mismatch?

(3)为什么之前可以,现在突然就不行了呢???

查看驱动的日志:

cat /var/log/dpkg.log | grep nvidia

可以看到,其自动更新了版本信息,将44更新到了46

Failed to initialize NVML: Driver/library version mismatch?

解决办法(我采用的第一种进行解决的,第二种供参考)

(1)第一种:重启机器,如果可以进行机器重启的话,重启机器就能解决,然后可以配置一下 禁止自动更新,如果出现这个错误,请查看另外一篇博客NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.

(2)第二种:如果不能重启,那重新安装驱动(之前是495.44),那就重新安装这个驱动

首先先卸载驱动:

第一种:自动卸载
sudo apt-get autoremove --purge nvidia-*
    
第二种:先找到具体的版本,然后卸载
cd /usr/src  // 查看具体的版本号
sudo apt-get autoremove --purge nvidia-xxx   //(xxx为具体的版本号)

安装驱动:

# 更新驱动源
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
# 第一种:自动安装推荐的版本
sudo ubuntu-drivers autoinstall
# 第二种:安装特定版本的驱动
sudo apt-get install nvidia-495  #或指定版本

禁止自动更新

修改指定文件的内容

sudo vim /etc/apt/apt.conf.d/50unattended-upgrades

将其注释保存即可:

Failed to initialize NVML: Driver/library version mismatch?

上一篇:[leetcode/lintcode 题解] 算法面试真题详解:搜索旋转排序数组


下一篇:jdbc连接mysql数据库的方式(5种)