使用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-smi 仍然报错,进行下一步
ls /usr/src/ | grep nvidia
查看文件夹下 nvidia-***.***.***
的文件夹,字符串中nvidia-
后面的部分都是驱动版本
例如:
$ ls /usr/src/ | grep nvidia
nvidia-470.86
sudo apt-get install dkms
sudo dkms install -m nvidia -v 470.86
gcc: error:unrecognized command line option '-fstack-protector-strong'
我出这个错误的时候环境为:Ubuntu18.04.4,gcc版本为4.8.5 (事实证明问题症结出在 gcc版本太低上,不过这是后话,先尝试解决这个问题)
- 进入自己当前使用的内核文件夹,以 `/usr/src/linux-headers-5.3.0-510-generic` 为例
- 修改 文件夹中的 `Makefile` 文件
- 将带有`-fstack-protector-strong` 的一行注释掉
- 之后可以再次尝试之前的命令如果 nvidia-smi 仍然报错,可以尝试使用低版本内核开机尝试查看自己的内核版本:
uname -r
# 或
cat /proc/version
如果 nvidia-smi 仍然报错,进行下一步
如果 nvidia-smi 仍然报错,进行下一步
如果是 CUDA 用户,需要弄清楚 gcc 需求版本
Installation Guide Linux
:如果确定了自己的 gcc 版本低得离谱,可以尝试升级 gcc 修复错误
gcc -v
sudo apt remove gcc
sudo apt install gcc
sudo apt-get install nvidia-driver-470 nvidia-settings nvidia-prime