ubuntu20.04 nvidia-smi命令
报错 Failed to initialize NVML: Driver/library version mismatch解决办法:
直接重启电脑。
再用nvidia-smi命令,发现就可以正常显示GPU显卡状态了,PyCharm里面调用GPU也正常了。
出现这个的原因如下:
ubuntu自己把GPU的驱动更新了,
导致nvidia显卡 Kernel Module 与Driver Version 不一致。
这里需要提前交代一下,我自己的GPU驱动是ubuntu系统里带的驱动。
这里简单介绍一下原先自己这个驱动的安装历史:
第一次,我看教程,都是手动装驱动,我就自己手动安装了470.96版本的驱动。
结果这是一个大坑,我的显卡是RTX3060,不知道什么原因,
470.96版本的驱动会导致系统卡顿。
特别卡,刷网页卡到忍受不了的地步,我就卸载掉原先自己手动安装的470.96版本显卡驱动。
百度了一波,看到有人推荐ubuntu系统里带的显卡驱动,
第二次,所以,我就尝试了ubuntu系统里带的显卡驱动。
这次安装过程非常简单,安装后系统也不卡顿了。
点开 附加驱动
这里就使用系统推荐的nvidia的官方驱动,上面只显示470,我查过,安装后的驱动版本是470.86
安装470.86版本的驱动后,系统没有卡顿现象了,非常丝滑。
也就是说我明确知道自己安装的470.86版本的显卡驱动。
以上就是我的机器的显卡驱动安装过程。
之后,我的显卡使用一切正常。
但是,突然有一天, 输入 nvidia-smi命令
报错 Failed to initialize NVML: Driver/library version mismatch
也就是说显卡突然有问题了,不能用了。
输入
cat /var/log/dpkg.log | grep nvidia
查看相关日志
出现类似下面的一堆提示,我只截图了第一句,如下:
可以从日志中发现nvidia GPU驱动版本从470.86 自己更新到 470.103。
这个就是出现问题的原因。
从nvidia 驱动官网 官方 GeForce 驱动程序 | NVIDIA
可以查到确实有470.86 和 470.103 这两个版本的驱动
也就是说,ubuntu自己把GPU的驱动更新了,导致nvidia内核驱动版本与系统驱动不一致。
我自己重启电脑就解决了这个问题。
重启后,输入命令
cat /proc/driver/nvidia/version
查看显卡驱动所使用的内核版本
显示我的显卡驱动所使用的Kernel Module 是470.103
接着,输入命令
nvidia-smi
查看Driver Version
显示我的驱动版本Driver Version 是470.103
所以,重启后,nvidia显卡 Kernel Module 与Driver Version 一致,问题就解决了。
如果重启解决不了这个问题,可以参考下面的2个链接,讲的更详细,尝试卸载GPU驱动,然后重新安装驱动。
因为我自己重启电脑就解决了这个问题,没有尝试下面的方法,所以不保证一定能够成功。
如果谁尝试成功了,可以在下面留言。
最后,我们要关闭ubuntu自动更新,防止再出现这个问题。
参考链接:
Failed to initialize NVML: Driver/library version mismatch_马圈圈马的博客-CSDN博客
Ubuntu20.04出现Failed to initialize NVML: Driver/library version mismatch问题_Love向日葵的兮兮子的博客-CSDN博客