问题背景
服务器莫名重启后,nvidia显卡查询显卡状态nvidia-smi失败,失败结果如图:
排查思路
1.物理排查,显卡并未去除。
2.问题查询
当服务器未安装NVIDIA驱动程序,或驱动程序版本与显卡不匹配时,或者安装了某些系统软件或系统更新了内核时,服务器重启后可能无法连接到NVIDIA驱动程序。
报错原因:NVIDIA-SMI失败,因为它无法与NVIDIA驱动程序通信。
事实上,还需要进行显卡驱动查询
![[f7701bea0160c9bc27d9d2b1d2d0f71.png]]
解决办法一:安装必要的内核头文件
如果之前是正常的,重启后出现这个错误,很可能是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
版本(version)需要先在/usr/src的目录下查看,以自身版本为主
sudo dkms install -m nvidia -v 550.90.07
运行开始状态:
运行结束状态:
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 时,正确输出。
![[Pasted image 20240724175046.png]]
四:解决办法三:安装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 时,正确输出。