问题原因与解决方案
我总结了以下几种可能导致错误的原因以及相应的解决方法:
-
显卡与驱动程序不兼容:这种情况会导致报错。解决方法是重新安装适合当前环境的显卡驱动程序。
解决方案:
- 参考 Linux 驱动安装指南,确保安装的是适用于当前系统的显卡驱动程序。
-
内核版本过高:较为落后的显卡驱动与先进的内核版本不兼容也会导致报错。
解决方案:
-
查看当前驱动版本,使用以下命令:
ls /usr/src/ | grep nvidia
查看
/usr/src/文件夹下以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',可能是由于 gcc 版本过低导致的。可以尝试进入当前内核文件夹(例如/usr/src/linux-headers-5.3.0-510-generic),修改其中的Makefile文件,将带有-fstack-protector-strong的一行注释掉,然后再次尝试安装命令。-
如果
nvidia-smi仍然报错,可以尝试使用低版本内核开机。查看当前内核版本:uname -r # 或 cat /proc/version
重启系统,在 ubuntu 启动引导界面选择“ubuntu 高级选项”,选择一个较低版本的内核(例如 5.3.0-26-generic),然后尝试进入系统。
-
-
gcc 版本过低:这会导致在安装驱动过程中编译文件出现问题或无法运行。
解决方案:
查看 CUDA 官网的版本需求,确保满足 Nvidia 对系统内核和 gcc 版本的要求。不同 CUDA 版本有不同的需求,可以在 CUDA 文档中找到对应版本的需求(例如 CUDA 11.3.1)。
-
升级 gcc,如果当前版本过低,可以尝试以下命令:
gcc -v sudo apt remove gcc sudo apt install gcc
-
之后重新安装显卡驱动:
sudo apt-get install nvidia-driver-470 nvidia-settings nvidia-prime
我的问题在执行上述步骤后已经解决。
参考资料:
- https://www.php.cn/link/766b9a83afd8feba96ec3dcd724fe4d9
- https://www.php.cn/link/97e61f42dca54837f80794d0ea3bbc4e
- https://www.php.cn/link/b0513535543a50eb3038a8e06541be1d
- https://www.php.cn/link/ed0eebbaa23beae2d9fcb2fd70cd6feb













