Ubuntu Nvidia 显卡驱动突然不识别

Ubuntu 安装 Nvidia 驱动后,有一天突然就无法识别到驱动了,使用 nvidia-smi 查看状态显示:

1
2
Failed to initialize NVML: Driver/library version mismatch
NVML ibrary version: 535.154

出现这个的原因是因为驱动驱动更新后,kernel mod 的 Nvidia driver 的版本没有更新。

如何恢复

  1. 通过重启 Ubuntu 来恢复

  2. 如果因为某些原因不能够重启的话,使用 reload kernel mod 方式重新让内核加载驱动

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    # 查看驱动 
    lsmod | grep nvidia_

    # 将面列出的驱动移除
    sudo rmmod nvidia_drm
    sudo rmmod nvidia_modeset
    sudo rmmod nvidia_uvm

    # 最后移除 nvidia
    sudo rmmod nvidia

    # 重新加载驱动
    nvidia-smi

如何预防

为了防止系统自动更新 Nvidia 驱动导致问题再次出现,可以禁用显卡驱动自动更新

1
2
3
4
5
# 查看安装的驱动,标记 automatic 的包不用管
apt list --installed | grep nvidia

# 阻止更新,package-name 为包名称,比如 nvidia-driver-535
sudo apt-mark hold package-name

若要恢复,使用下列命令:

1
sudo apt-mark unhold package-name

参考

本文参考以下文章,在此致以诚挚谢意!

cuda - Nvidia NVML Driver/library version mismatch - Stack Overflow

解决Driver/library version mismatch | Comzyh的博客