基本过程

今天实验室师兄在服务器运行深度学习训练时候得到报错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,问题得解。

思考

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

记一次服务器Cuda驱动崩溃修复过程的更多相关文章

  1. 关于CUDA,cuDNN,TF,CUDA驱动版本兼容问题

    实际工作当中,经常维护好几个项目的代码,不同项目依赖的TF版本不一致问题.网上找了好多资料,但是每次遇到的问题都不一样,每次都要去查(就是是一样的问题,解决办法也可能会不一样)每次踩坑无数,今天痛定思 ...

  2. 记一次服务器路由跟踪 (2019-01-23 TODO)

    记一次服务器路由跟踪 有用户反馈网站 无法访问. 现象如下: ping 没有反馈,确认了可以 ping 通其它的网站. tracert 跟踪到服务器商的内部就没的反应了. 同样一家的服务器商,另外一台 ...

  3. 记:第一次更新服务器CUDA和GPU驱动

    因有需求需要改动centos7中的CUDA(更新到10)和GUP 的driver(更新到410)的版本. 事先需要查看原版本的信息,使用nvidia-smi可以查看driver的版本信息(最新的也显示 ...

  4. 记一次血淋淋的MySQL崩溃修复案例

    摘要:今天给大家带来一篇MySQL数据库崩溃的修复案例 本文分享自华为云社区<记一次MySQL崩溃修复案例,再也不用删库跑路了>,作者: 冰 河. 问题描述 研究MySQL源代码,调试并压 ...

  5. centos7.0安装cuda驱动

    00.CUDA简介 CUDA和GPU的并行处理能力来加速深度学习和其他计算密集型应用程序 01.CPU+GPU协同架构 02.部署环境 [docker@lab-250 ~]$ cat /etc/*re ...

  6. 记一次服务器迁移后的nginx启动问题

    背景 服务器A准备下线,故直接将上面的所有应用/资料打包迁移到服务器B.包括搭建的nginx,迁移到B服务器后,楼主偷懒,就想着直接./nginx启动,过程遇到如下问题. ./nginx ./ngin ...

  7. 记一次服务器迁移SVN客户端更换IP

    服务器迁移,SVN服务端IP由原10.58.8.231更换至10.58.1.230   TortoiseSVN更换ip地址操作如下: 打开svn项目的根目录,右键如图操作: 修改ip地址为10.58. ...

  8. 记一次服务器迁移 TFS客户端ip更换

    服务器迁移,TFS服务端IP由原10.58.8.231更换至10.58.1.230 TFS客户端更换ip操作比较复杂,请谨慎操作,避免脱库的风险!!! 打开注册表,运行->regedit 找到H ...

  9. 一个Bug 差点让服务器的文件系统崩溃

    昨天,公司的美国客户发邮件给我,说我的软件出问题了,我查来查去,发现居然是服务器上一个目录无法删除,一删除就报 cannot read from the source file or disk. 如果 ...

  10. 记一次收集APP native崩溃信息

    最近在学习 极客时间Android开发高手课 老师推荐了Breakpad开源库来采集native 的crash1.为什么要使用Google Breakpad? 我们在开发过程中,Android JNI ...

随机推荐

  1. PostgreSQL 12 文档: 系统表

    第 51 章 系统目录 目录 51.1. 概述 51.2. pg_aggregate 51.3. pg_am 51.4. pg_amop 51.5. pg_amproc 51.6. pg_attrde ...

  2. Java杂记————object.getClass()和object.class以及Java中的toString()方法的的区别

    不说废话,直接上干货: (注意大小写:object为对象,Object为类) 1,object.getClass()它是Object类的实例方法,返回一个对象运行时的类的Class对象,换句话说,它返 ...

  3. 阿里云 MongoDB 创建库添加用户并授权

    先通过 root 进到 admin 库, 右击test 选择用户管理 测试连接

  4. Spring相关API

    ApplicationContext的继承体系 applicationContext applicationContext:接口类型,代表应用上下文,可以通过其实例获得Spring容器中的Bean A ...

  5. PostgreSQL 10 文档: PostgreSQL 服务器程序

    PostgreSQL 服务器应用 这一部分包含PostgreSQL服务器应用和支持工具的参考信息.这些命令只在数据库服务器所在的主机上运行才有用.其他工具程序在PostgreSQL 客户端应用中列出. ...

  6. React:styled-components有趣的用法

    背景 用于记录一些styled-components的有趣的用法 绑定a标签的链接 编写伪类 在styleComponents中使用参数 传入参数

  7. echarts-for-react:实时更新数据

    解决方案 echarts 注解 详细链接 https://echarts.apache.org/zh/api.html#echartsInstance.setOption 参考链接 https://b ...

  8. 【pandas小技巧】--字符串转数值

    字符串转数字的用途和场景很多,其中主要包括以下几个方面: 数据清洗:在进行数据处理时,经常会遇到一些数据类型不匹配的问题,比如某些列中的字符串类型被误认为是数字类型,此时需要将这些字符串类型转换为数字 ...

  9. Nessus 10.5.3 漏洞扫描器的下载安装与卸载

    测试环境 Kali 2023.2 本教程使用脚本进行自动化安装.破解 文章地址:https://www.iculture.cc/software/pig=25546#wznav_7 偶然发现,特别好用 ...

  10. 工具—批量备案信息查询并生成fofa查询语句

    描述: 1.可以输入一个或多个公司名或域名或备案号,得到备案信息(备案公司名,备案公司网站url,备案号,域名类型,审核时间) 2.读取生成的信息并转为fofa语句,方便了指定目标的信息收集速度 工具 ...