真的折磨了我整整一天,从网上的资料到GPT都翻遍了,终于是解决了!以下方案希望能帮助到你们
问题原因
服务器内核自动更新导致显卡无法链接
报错如下:
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.
简单解决方案
# 安装dkms
sudo apt-get install dkms
# 会出现一个文件列表,找到类似nvidia-530.41.03
ls -l /usr/src/
# 安装
sudo dkms install -m nvidia -v 530.41.03
再次运行nvidia-smi,若成功,说明你很幸运。
若没成功,报错
Error! Could not locate dkms.conf file.
或是
Module nvidia/530.41.03 already installed on kernel 5.4.0-132-generic/x86_64
接着往下看
若是使用gcc --version查看出gcc版本过低(小于7.3)
或ls -l /usr/src/命令没有 nvidia-530.41.03 这类文件
请移步
https://blog.csdn.net/nizhenshishuai/article/details/123873453
报错Error解决方案
大概率是没有安装好或是版本不对应,请跟着以下步骤:
# 先进入root模式,会提示输入密码
su
# 进入之后cd到根目录下
cd /
# 运行以下代码清除原驱动
sudo apt-get remove --purge nvidia*
# 下载
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
# 查看推荐版本
ubuntu-drivers devices
此时会输出一个列表,例如:
driver: nvidia-driver-525-open - distro non-free
driver: nvidia-driver-470-server - distro non-free
driver: nvidia-driver-470 - distro non-free
driver: nvidia-driver-515 - distro non-free
driver: nvidia-driver-525 - distro non-free
driver: nvidia-driver-530 - distro non-free
driver: nvidia-driver-515-server - distro non-free
driver: nvidia-driver-525-server - distro non-free
driver: nvidia-driver-515-open - distro non-free
driver: nvidia-driver-510 - distro non-free
driver: nvidia-driver-530-open - distro non-free recommended
driver: xserver-xorg-video-nouveau - distro free builtin
列表中会有一行最后带有“recommended”,这是系统推荐版本
例如在我的服务器中,推荐的就是
driver: nvidia-driver-530-open - distro non-free recommended
但是!
⚠️不要挑带有-open的版本,可能会有新的问题
比如明明配好了,使用nvidia-smi报错:
No devices were found
所以,我选择的版本是
driver: nvidia-driver-530 - distro non-free
选好版本以后接着往下
# 安装
sudo apt-get install nvidia-driver-530 nvidia-settings nvidia-prime
sudo apt-get install dkms
# 查看是否安装,会输出一个列表,找到类似nvidia-530.41.03
ll /usr/src/
# 版本号来自于列表中
sudo dkms install -m nvidia -v 530.41.03
# 重启
reboot
重启以后,再次使用nvidia-smi命令,如果成功了,很好恭喜你,没成功可以尝试下一个方案
报错Already installed解决方案
有可能已经安装完毕,但是!
问题很有可能出在Secure Boot模式上
确认服务器上已安装并启用了mokutil工具,如果没有,请使用以下命令安装:
sudo apt-get update
sudo apt-get install mokutil
重启服务器并进入BIOS设置。具体方法取决于使用的硬件厂商和服务器型号。通常,需要在启动时按下特定的按键才能进入BIOS设置界面。比如我的服务器是DELL,在开机的时候按F2进入界面
在BIOS设置中找到Secure Boot选项,将其禁用。
保存并退出BIOS设置。
重新启动服务器。
再次使用nvidia-smi命令,就成功了!
关闭内核自动更新
为了一劳永逸再也不出现这些奇奇怪怪的问题,可以关闭内核的更新,代码如下:
# 查看内核版本
uname -a
# 根据获得的版本输入以下命令,例如
sudo apt-mark hold linux-image-5.19.0-38-generic
sudo apt-mark hold linux-image-5.19.0-38-generic linux-headers-generic
# 查看是否关闭更新,如果什么都没输出,说明更新关闭了
sudo apt-config dump | grep -i unattended-upgrades
以上,就是努力了一天的成果(踩了一天的坑),成功了才写的方案所以可能有些地方有遗忘导致纰漏,欢迎指正
参考文章来源:https://www.toymoban.com/news/detail-603451.html
https://blog.csdn.net/zataji/article/details/123104569
https://blog.csdn.net/nizhenshishuai/article/details/123873453
https://www.cnblogs.com/devgis/p/16469895.html
https://zhuanlan.zhihu.com/p/462412591
https://forums.developer.nvidia.com/t/nvidia-smi-outputs-no-devices-were-found-on-ubuntu-22-04-driver-520/234829文章来源地址https://www.toymoban.com/news/detail-603451.html
到了这里,关于NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver. 最全解决方案!详细!的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!