Ubuntu断电/重启显卡驱动消失:“NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver....“

单位有一台用于运行人脸识别服务的高性能服务器,操作系统是ubuntu,一直存在一个问题:断电重启抽显卡驱动就会消失。以往每次显卡驱动消失后,都是请开发商对显卡驱动进行重新安装,麻烦又费时费力。

昨天(1月15日)停电恢复后再次出现了此问题,今天恰逢年底,抽时间对本问题进行了搜索并进行尝试,详细情况记录一下:

1.再现问题 

执行命令:nvidia-smi

提示信息:NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver....

2.问题原因

自己不具备这方面的知识,从网络上进行了搜索了解:这个问题通常是由电脑重启后切换到了新的内核版本上,由于linux内核升级,之前的Nvidia驱动就不匹配连接了,但是此时Nvidia驱动还在,可以通过命令 nvcc -V 找到答案。

3.解决方案

搜索了多个博客,找到了两个解决方案,如下:

一、下载DKMS,由它维护内核外的驱动程序,并在内核版本变化后自动生成新的模块。 相关命令如下:

(1)安装sudo apt-get install dkms
(2)查看本机连接不上的驱动版本:ls -l /usr/src/

 

 图中明细可以看出,nvidia-470.57.02

  (3) 使用dkms重新安装适合驱动:sudo dkms install -m nvidia -v 470.57.02

  (4) reboot后,再次执行nvidia-smi 验证。

二、固定内核版本,禁止内核更新

  (1)查看已有的内核版本:sudo dpkg --get-selections | grep linux-image

 

  本截图是后补的,200后面带了hold。

   (2)查看正在用的内核: uname -r

  

 

   系统当前使用的内核是4.15.0-202-generic版本。

  (3)固定内核(固定到你在用的版本):sudo apt-mark hold linux-image-4.15.0-200-generic

 此处我选择了200进行了固定,重启后发现200-generic 出现了hold字样,但 uname -r 发现仍然是202-generic。

4.问题现状

前述两种方案都进行了尝试,重启reboot之后,执行nvidia-smi,如图,问题得到了解决(至于是哪种方案起了作用,目前没有想明白)。

 

posted @ 2023-01-16 11:06  延木  阅读(3400)  评论(0编辑  收藏  举报