当服务器没有安装英伟达(NVIDIA)显卡驱动,或者驱动版本与显卡不匹配,或者安装了某些系统软件或者系统更新内核时,服务器重启后可能无法连接NVIDIA驱动,出现如下nvidia-smi错误信息:
$ 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.
如果之前正常,重启后出现这个错误,则很可能是Ubuntu内核版本升级导致的。让我们重新安装内核头文件。
$ sudo apt install linux-headers-`uname -r` #or $ sudo apt install linux-headers-$(uname -r)
然后输入nvidia-smi指令,输出可能就正常了。如果还是错误,请继续尝试下面的方法。
有时,重新启动机器后,NVIDIA SMI会显示NVIDIA driver loss,这是由于Linux内核升级导致之前的NVIDIA驱动与连接不匹配。
DKMS (Dynamic Kernel Module System,动态内核模块系统)可以在内核更改后自动编译模块并适应新内核。它允许更新离散的内核模块,而无需修改整个内核。使用 dkms 重新安装适合内核的驱动程序:
$ sudo apt install dkms $ sudo dkms install -m nvidia -v 470.182.03 $ dkms status nvidia nvidia/470.182.03, 5.15.0-88-generic, x86_64: installed
注意: 上面命令行中的470.182.03是NVIDIA的版本号。当你不知道的时候,进入/usr/src目录,你会看到nvidia文件夹及其后缀。或者,使用以下命令进行查询。
$ ls /usr/src | grep nvidia nvidia-470.182.03
当您再次输入 nvidia-smi 时,熟悉的输出将会回来。
如果还是不行,请坚持下去,尝试以下方法。让我们继续重新安装 NVIDIA 驱动程序。下面介绍三种专为 Linux 设计的广泛使用的安装方法。
步骤 1:安装驱动程序之前,请确保更新软件包存储库。运行以下命令:
$ sudo apt update $ sudo apt upgrade
步骤2:搜索Nvidia驱动程序,运行以下命令。输出显示适用于您的 GPU 的可用驱动程序列表。
$ apt search nvidia-driver
步骤 3:从可用 GPU 驱动程序列表中选择要安装的驱动程序。最适合的是最新测试的专有版本。
$ sudo apt install nvidia-driver-470
在本教程中,我们安装了 nvidia-driver-340,这是该 GPU 最新测试的专有驱动程序。
步骤 4:使用以下命令重新启动计算机:
# sudo reboot
PPA 存储库允许开发人员分发官方 Ubuntu 存储库中未提供的软件。这意味着您可以安装最新的测试版驱动程序,但是存在系统不稳定的风险。
要通过 PPA 存储库安装最新的 Nvidia 驱动程序,请按照以下步骤操作:
步骤 1:使用以下命令将图形驱动程序存储库添加到系统中:
$ sudo add-apt-repository ppa:graphics-drivers/ppa
步骤 2:要验证您使用的 GPU 型号并查看可用驱动程序列表,请运行以下命令:
$ ubuntu-drivers devices
步骤 3:输出显示您的 GPU 型号以及该特定 GPU 的任何可用驱动程序。要安装特定驱动程序,请使用以下语法:
$ sudo apt install nvidia-driver-470
或者,通过运行以下命令自动安装推荐的驱动程序:
$ sudo ubuntu-drivers autoinstall
步骤 4:重新启动计算机以使更改生效。
步骤1:NVIDIA 驱动程序以 .run 安装程序包的形式提供,可与NVIDIA 驱动程序下载站点上的 Linux 发行版一起使用。选择适合您的 GPU 产品的 .run 包。
步骤 2:可以使用 wget 下载 .run,如下例所示:
$ wget https://us.download.nvidia.com/XFree86/Linux-x86_64/470.223.02/NVIDIA-Linux-x86_64-470.223.02.run
步骤 3:下载 .run 安装程序后,即可安装 NVIDIA 驱动程序:
$ sudo sh NVIDIA-Linux-x86_64-$DRIVER_VERSION.run
安装过程中按照屏幕上的提示进行操作。有关使用 .run 安装程序的更多高级选项,请参阅 --help 选项。
步骤 4:重新启动计算机以使更改生效。