问题:nvidia-smi
Failed to initialize NVML: Driver/library version mismatch
原因:NVIDA内核驱动版本和系统驱动不匹配。
本机配置:NVIDIA RTX3080(单显卡)Ubuntu18.04
1. 禁用nouveau
安装NVIDIA需要禁用系统自带的驱动,打开文件:sudo vim /etc/modprobe.d/blacklist.conf
文件末尾添加以下内容:
blacklist nouveau
option nouveau modeset=0
忽略命令行窗口提示,保存退出。
执行命令:sudo update-initramfs -u
重启电脑后,执行命令:lsmod | grep nouveau
,若无任何输出则禁用成功。
2. 安装NVIDIA驱动
执行命令:dmesg |grep NVRM
出现:kernel版本与driver版本不一致,安装显示的驱动版本(本文安装的是该命令下的驱动版本)
查看系统内核版本:cat /proc/driver/nvidia/version
查看可用驱动版本:ubuntu-drivers devices
(1)禁用X服务(该步电脑会黑屏):,执行命令:sudo service lightdm stop
(2)NVIDIA驱动下载链接:https://us.download.nvidia.cn/XFree86/Linux-x86_64/460.67/NVIDIA-Linux-x86_64-460.67.run
!!!注:将460.67修改为自己的驱动版本号
(3)cd 下载目录,执行:sudo chmod +x NVIDIA-Linux-x86_64-460.67.run
(4)执行:sudo sh NVIDIA-Linux-x86_64-460.67.run
(5)一路yes,ok
避免下次出现该问题,禁用当前版本的本地更新:
way1:sudo apt-mark hold nvidia-460
way2:
vim etc/apt/apt.conf.d/10periodic
#修改内容如下
APT::Periodic::Update-Package-Lists "0";
APT::Periodic::Download-Upgradeable-Packages "0";
APT::Periodic::AutocleanInterval "0";
sudo apt-mark hold linux-image-generic linux-headers-generic