1. 检查 NVIDIA 内核模块是否加载
运行:
lsmod | grep nvidia
如果没有输出,说明 NVIDIA 内核模块未加载,尝试手动加载:
sudo modprobe nvidia
nvidia-smi
如果 modprobe
报错,比如:
modprobe: ERROR: could not insert 'nvidia': No such device
说明 驱动与内核不兼容,请跳到 步骤 3 重新安装驱动。
2. 检查 nouveau
是否占用显卡
运行:
lsmod | grep nouveau
如果有输出,说明 nouveau
仍在运行,导致 NVIDIA 驱动无法正常工作。解决方法:
echo -e "blacklist nouveau\noptions nouveau modeset=0" | sudo tee /etc/modprobe.d/blacklist-nouveau.conf
sudo update-initramfs -u
sudo reboot
重启后,再次运行:
lsmod | grep nouveau
如果 nouveau
不再出现,再次尝试:
sudo modprobe nvidia
nvidia-smi
3. 重新安装 NVIDIA 驱动
如果上面的方法仍然不行,尝试 完全卸载并重新安装 NVIDIA 驱动:
(1) 卸载旧驱动
sudo apt-get purge '^nvidia-.*'
sudo apt-get autoremove
sudo apt-get update
(2) 重新安装最新驱动
sudo apt update # 更新源列表
ubuntu-drivers devices # 查看可安装的驱动列表(见下图选择recommended那项
sudo apt-get install nvidia-driver-570(根据当前推荐的版本)
这一块如果安装驱动很慢,在软件和更新部分更换源
这里换了阿里云的服务器速度比较快。
然后重启:
sudo reboot
重启后,运行:
nvidia-smi
如果仍然失败,可能是 Linux 内核缺少 NVIDIA 头文件,继续下一步。
4. 确保内核支持 NVIDIA 驱动
运行:
uname -r
然后安装相应的内核头文件:
sudo apt-get install linux-headers-$(uname -r)
然后重新安装驱动:
sudo apt-get install --reinstall nvidia-driver-535
sudo reboot
重启后,再次尝试 nvidia-smi
。
5. 检查 NVIDIA 服务是否正常
systemctl status nvidia-persistenced
如果未启动,运行:
sudo systemctl restart nvidia-persistenced
sudo systemctl enable nvidia-persistenced
然后再试 nvidia-smi
。
如果仍然失败,请执行以下命令并粘贴输出
lsmod | grep nvidia
dmesg | grep -i nvidia
journalctl -xe | grep -i nvidia
这样可以获取更详细的错误信息,我可以帮你进一步分析!🚀