记一次服务器Cuda驱动崩溃修复过程

基本过程

今天实验室师兄在服务器运行深度学习训练时候得到报错CUDA initialization: Unexpected error from cudaGetDeviceCount()疑似Cuda与NVIDIA显卡驱动沟通中出现了问题,使用nvidia-smi指令时提示Failed to initialize NVML: Driver/library version mismatch,经过沟通了解到,重启与重新配置Cuda环境均未能解决上述问题。

根据社区类似问题的帖子下工程师的指引,使用nvidia-bug-report.sh输出了报错的基本日志,得到如下关键信息

Oct 21 06:40:46 ubuntu-C621-WD12-IPMI kernel: 676742.295632 NVRM: API mismatch: the client has the version 535.113.01, but

Oct 21 06:40:46 ubuntu-C621-WD12-IPMI kernel: 676742.295632 NVRM: this kernel module has the version 525.105.17. Please

Oct 21 06:40:46 ubuntu-C621-WD12-IPMI kernel: 676742.295632 NVRM: make sure that this kernel module and all NVIDIA driver

Oct 21 06:40:46 ubuntu-C621-WD12-IPMI kernel: 676742.295632 NVRM: components have the same version.

定位基本问题为Cuda版本可能有自动更新,因此跟进/var/log/apt/history.log中,找到关于NVIDIA相关的信息

Install: nvidia-profiler:amd64 (10.1.243-3, automatic), nvidia-cuda-toolkit:amd64 (10.1.243-3), nvidia-visual-profiler:amd64 (10.1.243-3, automatic), nvidia-cuda-dev:amd64 (10.1.243-3, automatic), nvidia-cuda-doc:amd64 (10.1.243-3, automatic), nvidia-cuda-gdb:amd64 (10.1.243-3, automatic)

Upgrade: libnvidia-compute-535:amd64 (535.113.01-0ubuntu0.20.04.1, 535.113.01-0ubuntu0.20.04.3)

因此基本可以断定这次出错是由cuda-toolkit更新连带引起的

解决方案

先尝试通过将libnvidia-compute-535版本降到525版本,发现小版本号依然对不上(之前运维没有及时更新),所以考虑将kernel版本升级到535版本

首先运行sudo apt purge nvidia* libnvidia*准备重新安装,然后运行sudo apt install nvidia-driver-535,再次运行nvidia-smi,问题得解。

思考

在生产环境中应当尽可能避免做敏感升级和安装行为,在安装前最好检查一下要求的工具链,提前做好准备工作

相关推荐
考虑考虑11 小时前
docker compose V2版本新属性
运维·后端·自动化运维
小小的木头人12 小时前
Ubuntu Samba修改端口绕过445封禁挂载
运维·ubuntu
老当益壮梁奶奶13 小时前
51单片机DS18B20温度传感器详解:单总线时序与C51驱动实现
笔记·stm32·单片机·嵌入式硬件·51单片机
wdfk_prog14 小时前
ROS教程:01 搭建 ROS1 Noetic Docker 开发环境
运维·缓存·docker·容器·ros
SEO_juper14 小时前
Java 并发编程实战:从线程基础到高并发架构
运维·人工智能·爬虫·chatgpt·seo
小叶肥辉14 小时前
LangChain链和LangGraph图的学习笔记【三】——分别用langchain_openai库和langchain_community库调用大模型
笔记·python·langchain
szephyr15 小时前
Docker + Compose 实战:把本地项目一键搬到云服务器,附完整配置
运维·docker·容器·部署·云服务器
wdfk_prog15 小时前
ros教程02:创建 catkin Workspace、Package 与第一个 ROS1 C++ Node
运维·缓存·docker·容器·ros
亚川楼宇自控系统数据中心厂家15 小时前
高校 / 医院 / 政务云数据中心 IBMS 系统怎么落地?
运维
从零开始的嵌入式之旅16 小时前
day44
arm开发·经验分享·笔记·嵌入式硬件