问题解决
终端输入:nvidia-smi
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.
Ubuntu20.04的系统,之前使用nvidia-smi就出来详细显卡信息了,但是过了段时间,再使用指令就出现这样的提示,重启之后还是这样。
经过查找资料和实践验证,最后确定是:
是内核版本更新的问题,导致新版本内核和原来显卡驱动不匹配
解决:
查看已安装内核
dpkg --get-selections |grep linux-image
查看正在使用的内核
uname -a
显示为5.11.0-38-generic。因为之前安装nvidia驱动时记下了当时的内核版本为5.11.0-27-generic。所以更确定确实是因为内核版本更新导致不匹配的问题。
只需执行两条命令就好:
sudo apt-get install dkms
sudo dkms install -m nvidia -v 470.82.00(470.82.00表示的是驱动版本号)
利用命令 ll /usr/src/ 可查看下面有一个nvidia-470.82.00文件夹,版本号因电脑而异。
安装完成后,此时
禁止内核自动更新
1)命令行关闭系统自动更新,使用命令打开文件并编辑
sudo gedit /etc/apt/apt.conf.d/10periodic
将双引号中的“1”全部置“0”即可,修改后保存。
2)图形界面来关闭自动更新,找到软件更新(Software & Updates)
3)ubuntu默认启动了自动更新内核,为了避免出现重启系统后遇到错误进入不到系统中去,我们可以进一步关闭内核更新,使用当前内核。
~$ sudo apt-mark hold linux-image-generic linux-headers-generic linux-image-generic set on hold.linux-headers-generic set on hold.
如果要重启启动内核更新:
sudo apt-mark unhold linux-image-generic linux-headers-generic
我是只采用了第二种方法禁止系统更新,但发现没用,所以为了保险起见,大家可以把以上三种都进行设置。