一、介绍

当服务器未安装NVIDIA驱动程序,或驱动程序版本与显卡不匹配时,或者安装了某些系统软件或系统更新了内核时,服务器重启后可能无法连接到NVIDIA驱动程序。错误消息如下:

$ 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.
报错原因:NVIDIA-SMI失败,因为它无法与NVIDIA驱动程序通信

二、解决办法一:安装必要的内核头文件

如果之前是正常的,重启后出现这个错误,很可能是Ubuntu内核版本升级造成的。让我们重新安装内核头文件。

$ sudo apt install linux-headers-`uname -r`

#或者

$ sudo apt install linux-headers-$(uname -r) 

然后输入nvidia-smi,输出可能正常。如果仍然错误,请继续使用以下方法。

三、解决办法二:使用 DKMS 重新安装内核的 NVIDIA 驱动程序(我用这个方法解决了问题)

有时,重新启动计算机后,NVIDIA SMI会显示NVIDIA驱动程序丢失,这是由于Linux内核升级,以前的NVIDIA驱动程序与连接不匹配。

DKMS(Dynamic Kernel Module System)可以在内核变化后自动编译模块,并适应新的内核。它允许离散内核模块更新,而无需修改整个内核。使用 dkms 重新安装内核的相应驱动程序:

$ sudo apt install dkms
$ sudo dkms install -m nvidia -v 550.78
$ dkms status nvidia

输出:nvidia, 550.78, 5.15.0-119-generic, x86_64: installed
注意!!!:上述命令行中的 550.78 是 NVIDIA 的版本号。当您不知道它时,请输入 /usr/src 目录,您将看到带有后缀的 nvidia 文件夹。或者,使用以下命令进行查询。

$ ls /usr/src | grep nvidia

输出:nvidia-550.78
再次输入 nvidia smi 时,正确输出。

四:解决办法三:安装NVIDIA驱动程序

第 1 步:在安装驱动程序之前,请确保更新软件包存储库。运行以下命令:

$ sudo apt update
$ sudo apt upgrade

第 2 步:搜索 Nvidia 驱动程序,运行以下命令。输出显示适用于 GPU 的可用驱动程序列表。

$ apt search nvidia-driver

第 3 步:从可用 GPU 驱动程序列表中选择要安装的驱动程序。最合适的是经过最新测试的专有版本。

$ sudo apt install nvidia-driver-470

在本教程中,我们安装了 nvidia-driver-470,这是该 GPU 最新测试的专有驱动程序。

第 4 步:使用以下命令重新启动计算机:

$ sudo reboot

再次输入 nvidia smi 时,正确输出。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐