ubuntu 手动更换库文件解决nvcc -V和nvidia-smi不一致

问题现象

笔主在训练之前想查看gpu占用情况,使用watch -n 1 nvidia-smi发现:
在这里插入图片描述
且在推理、训练时无法使用到显卡。

问题排查

cat /proc/driver/nvidia/version查看当前显卡驱动版本,可以看到显卡驱动是560.35.03:
在这里插入图片描述
而NVML库版本是565.57,确实不匹配。
笔主并没有手动更新,那么是如何触发这种更新机制的?了解到nvml并不会自动更新,但在一种情况下除外,那就是你使用的是anaconda的cudatoolkit进行管理的。
使用 cat /var/log/dkpg.log | grep nvidia查看nvidia驱动的变更情况,发现最后一次变更就在刚刚不久,那时我并没有进行更新呐!
在这里插入图片描述
笔者有多个cuda版本库,查看当前使用的是哪一个?
在这里插入图片描述

限制

  1. 一是要关闭anaconda 自动更新toolkits这种机制,防止再次出现这种问题。
  2. 因为本机是宿主机中一docker,所以无法通过升级驱动的方式进行解决,只能降低nvml库版本解决问题。

解决

禁止自动更新

  • conda config --set channel_priority strict限制更新通道
  • sudo apt-mark manual <package-name>将其标记为手动安装,禁止自动更新。

降低库版本

nvml 库文件一般在/usr/lib/x86_64-linux-gnu/中,查找一下。

  1. 删除旧版本 sudo rm libnvidia-ml.so.1
  2. 新建链接 sudo ln -s libnvidia-ml.so.xxx libnvidia-ml.so.1 这里,需要根据你的显卡驱动版本进行创建软链接。

这里我已经进行了替换,它原本指向565.57.01,我做了一个软链接。
在这里插入图片描述
再次查看nvidia-smi,已经可以啦。
在这里插入图片描述

ubuntu@VM-0-10-ubuntu:~$ ubuntu@VM-0-10-ubuntu:~$ lsb_release -d Description: Ubuntu 20.04 LTS ubuntu@VM-0-10-ubuntu:~$ nvidia-smi Thu Mar 20 09:50:51 2025 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 525.105.17 Driver Version: 525.105.17 CUDA Version: 12.0 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |===============================+======================+======================| | 0 Tesla T4 On | 00000000:00:08.0 Off | 0 | | N/A 35C P8 9W / 70W | 2MiB / 15360MiB | 0% Default | | | | N/A | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=============================================================================| | No running processes found | +-----------------------------------------------------------------------------+ ubuntu@VM-0-10-ubuntu:~$ nvcc --version Command 'nvcc' not found, but can be installed with: sudo apt install nvidia-cuda-toolkit ubuntu@VM-0-10-ubuntu:~$ cat /usr/local/cuda/version.txt cat: /usr/local/cuda/version.txt: No such file or directory ubuntu@VM-0-10-ubuntu:~$ cat /usr/include/cudnn_version.h | grep CUDNN_MAJOR -A 2 cat: /usr/include/cudnn_version.h: No such file or directory ubuntu@VM-0-10-ubuntu:~$ python -V Python 3.8.10 ubuntu@VM-0-10-ubuntu:~$ 这是上述指令,帮助我梳理安装上述组件的步骤
03-21
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值