一、nvidia显卡驱动丢失

现象:

执行nvidia-smi报错

 原因:

NVIDIA 内核版本与系统驱动版本不适配,Ubuntu自动将nvidia的驱动从525.105更新到了525.116 如下图

注:当使用 apt-get 命令时,默认会将所有需要更新的包都下载更新

处理方法:

  1. 重启机器一般情况下就可以解决问题,需要注意的问题是要保证当前机器上没有正在跑的服务,需要将机器上的服务进行驱逐

  2. 重启之后服务可能会遇到如下问题

/opt/conda/lib/python3.10/site-packages/torch/cuda/__init__.py:88: UserWarning: CUDA initialization: Unexpected error from cudaGetDeviceCount(). Did you run some cuda functions before calling NumCudaDevices() that might have already set an error? Error 802: system not yet initialized (Triggered internally at /opt/conda/conda-bld/pytorch_1670525552843/work/c10/cuda/CUDAFunctions.cpp:109.)

导致这个问题的原因是由于Ubuntu将驱动更新了,我们使用的cuda版本不能兼容现在的驱动版本

默认我们机器只有这些nvidia 相关的包

 自动更新后会安装很多nvidia相关的驱动,并且会把nvidia的驱动升级到525.116

解决方法如下

  1. 机器开机后自动更新驱动升级525.116.04

解决方法:

查看nvidia驱动版本

dpkg --list | grep nvidia

查看版本号是525.116.04相关的包,然后进行卸载,卸载后需要重启机器

apt remove nvidia-headless-525 nvidia-headless-no-dkms-525 nvidia-kernel-common-525 nvidia-utils-525 nvidia-dkms-525 nvidia-compute-utils-525 nvidia-kernel-source-525 libnvidia-cfg1-525

再重新安装旧版的驱动 /nfs/install/NVIDIA (官网下载即可)

cd /nfs/install/NVIDIA-Linux-x86_64-525.105.17/
./nvidia-installer

优化方案:

关闭自动更新

sudo sed -i 's/1/0/g' /etc/apt/apt.conf.d/10periodic
sudo sed -i 's/1/0/g' /etc/apt/apt.conf.d/20auto-upgrades

二、机器重启swap分区自动开启

  1. 修改 /etc/fstab文件 (推荐)

修改为sw,noauto

/dev/disk/by-uuid/8de114df-603c-4c16-b6f4-3537caa48dda none swap sw,noauto 0 0

注释掉如下这行

# /swap.img none swap sw 0 0

将/swap.img 文件删除,同时注释掉fstab文件中swap行

三、常用命令

查看nvidia 内核版本
modinfo nvidia

查看nvidia相关的包
dpkg --list | grep nvidia

删除nvidia相关的包 (慎重)
sudo apt purge nvidia*
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐