一、nvidia显卡驱动丢失
现象:
执行nvidia-smi报错
原因:
NVIDIA 内核版本与系统驱动版本不适配,Ubuntu自动将nvidia的驱动从525.105更新到了525.116 如下图
注:当使用 apt-get
命令时,默认会将所有需要更新的包都下载更新
处理方法:
-
重启机器一般情况下就可以解决问题,需要注意的问题是要保证当前机器上没有正在跑的服务,需要将机器上的服务进行驱逐
-
重启之后服务可能会遇到如下问题
/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
解决方法如下
-
机器开机后自动更新驱动升级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分区自动开启
-
修改 /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*