nvidia-smi
报错
Failed to initialize NVML: Driver/library version mismatch
之前还好好的,不知道做了什么,显卡驱动报错了,下面介绍解决方案
方案一
重启(很不推荐),详见stackoverflow
虽然重启大法好,但这样做很可能掩盖问题本身。
方案二
卸载显卡驱动
sudo rmmod nvidia
- 报错
$ sudo rmmod nvidia rmmod: ERROR: Module nvidia is in use
- 查看谁在使用
lsmod | grep nvidia
sudo lsof -n -w /dev/nvidia*
安装桌面版ubuntu可能会发现,显卡驱动还被占用,是桌面程序占用的- 关闭即可
sudo service lightdm stop
之后卸载相关插件即可
sudo rmmod nvidia_uvm
sudo rmmod nvidia_modeset
sudo rmmod nvidia
之后重启,注意这里可不是重启大法好了,我们是在解决问题……
方案三
笔者是前两个方法都用了,结果都没有解决
那没办法了,只有卸载驱动重装了,见参考文章三
当然这个也不盲目安装了,首先要分析一下根本原因
- 查看本地已安装显卡驱动
dpkg -l | grep nvidia
》
- 再看一下本地使用的具体显卡驱动版本信息
cat /proc/driver/nvidia/version
所以就找到问题的源头了,dpkg查询到的是本地使用类似apt安装使用的显卡;而具体使用的先看是笔者自己去NVDIA官网下载的驱动,自己安装的。而之后可能显卡驱动进行了版本更新,而笔者本地执行过apt upgrade
更新了显卡,但是实际上系统使用的还是笔者自己安装的相对旧的驱动。- 问题明确了,下一步就是解决问题了
😗 卸载旧版驱动
sudo apt-get purge nvidia*
sudo apt-get autoremove
😗 添加NVIDIA的ppa源
sudo add-apt-repository ppa:graphics-drivers/ppa
😗 安装最新版本驱动(注意这里的显卡驱动版本要对应自己的那个版本,笔者使用的460版本)
sudo apt-get install nvidia-driver-460
😗 重启大法好(重启一下就好了)
reboot
现在查看一下,系统推荐的和自己本地使用的显卡驱动都是一样的了
nvidia-smi可以用了

参考文章
[1] https://stackoverflow.com/questions/43022843/nvidia-nvml-driver-library-version-mismatch
[2] https://zhuanlan.zhihu.com/p/94378201
[3] https://comzyh.com/blog/archives/967/
[4] https://spring-quan.github.io/2019/03/29/nvidia-smi%E8%BF%94%E5%9B%9E%E9%94%99%E8%AF%AF%E4%BF%A1%E6%81%AF%E2%80%98Failed-to-initialize-NVML-Driver-library-version-mismatch%E2%80%99/