当前位置: 首页 > news >正文

Nvidia-smi 运行失败(Failed to initialize NVML: Driver/library version mismatch)

问题排查

在linux服务器上运行 nvidia-smi 命令,提示以下错误:

Failed to initialize NVML: Driver/library version mismatch

首先查看内核驱动版本:

cat /proc/driver/nvidia/version

然后查看当前NVIDIA驱动版本:

sudo dpkg --list | grep nvidia-*

发现两个驱动版本不一致。

通过排查日志,可以发现原因是早上6点多,服务器上的nvidia自动更新了,把原来535.54.03版本升级到了534.230.002,导致跟内核版本不一致。

cat /var/log/dpkg.log | grep nvidia

在这里插入图片描述

解决方案

第一步、重启

在实践中,很多时候只需要重启就能解决。

sudo reboot

如果重启后能成功启动 nvidia-smi,恭喜你解决了。

如果重启不生效,那么可以继续往下看。

第二步、删除现有显卡驱动

如果出现提示选择,选yes/Y一直往下操作就行。

sudo /usr/bin/nvidia-uninstall
sudo apt-get purge nvidia-*
sudo apt-get autoremove *

第三步、重新安装驱动

这里采取官方推荐的ppa安装方式,仅需要命令行操作。

1、查看本机支持的驱动版本

比如之前安装的是535版本,现在依旧选择 nvidia-driver-535-server

ubuntu-drivers devices

在这里插入图片描述

2、添加官方 PPA 仓库并更新

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update

3、安装535版本的驱动

sudo apt install nvidia-utils-535-server
sudo apt install nvidia-driver-535-server

4、重启

sudo reboot

第四步、检验是否成功

执行命令 nvidia-smi 可以正常运行,并且显卡驱动版本也更新到535.247.01。
在这里插入图片描述

检查下新驱动版本:

dpkg --list | grep nvidia-*

和内核版本是否一致:

cat /proc/driver/nvidia/version

可以看到这次版本一致了。

在这里插入图片描述

第五步、禁用驱动自动更新

为了防止下次服务器自动更新驱动版本,需要禁用当前版本的自动更新

sudo apt-mark hold nvidia-driver-535-server

日后如果需要取消禁用,首先查看下当前被锁定的包:

sudo apt-mark showhold | grep nvidia

如果只取消某个具体包的锁定(例如 nvidia-driver-535):

sudo apt-mark unhold nvidia-driver-535

如果需要取消所有 NVIDIA 相关包的锁定:

sudo apt-mark unhold $(apt-mark showhold | grep nvidia)

参考资料

  • deepseek
  • https://zhuanlan.zhihu.com/p/659149736
  • https://blog.csdn.net/a772304419/article/details/146601092
http://www.xdnf.cn/news/326701.html

相关文章:

  • Elasticsearch 8.x 在 java 中的使用情况
  • MIT关节电机相序校准
  • upload-labs靶场通关详解:第二关
  • 绕线机的制作与研究
  • very_easy_sql(SSRF+SQL注入)
  • 配置指定地址的conda虚拟Python环境
  • gitcode 上传文件报错文件太大has exceeded the limited size (10 MiB) in commit
  • dragonfly Prometheus 没有监控指标 dragonfly_scheduler_host_traffic
  • 益鑫通连接器车规级,非车规可替代JST,MOLEX
  • Keil安装pack包时报错解决:Cannot copy license file to “.Download“ folder.
  • string--OJ3
  • 基于Django框架开发的B2C天天生鲜电商平台
  • 306.检查是否所有A都在B之前
  • 通用分布式锁组件
  • 【优化策略】离散化
  • 力扣92.反转指定范围内的链表、25.k个一组反转链表
  • SpringBoot优雅参数检查
  • java基础-数组
  • AI训练服务器概述
  • 【信息系统项目管理师】法律法规与标准规范——历年考题(2024年-2020年)
  • 【fastadmin开发实战】财务数据快速导入系统(复制导入)
  • 配置Hadoop集群-测试使用
  • C# NX二次开发:曲线和点位相关UFUN函数详解
  • 游戏中心首页
  • LeetCode:对称二叉树
  • 贵州省棒球运动发展中长期规划(2024-2035)·棒球1号位
  • MySQL 联合查询的使用教程
  • Consumer Group的作用是什么?Rebalance的触发条件有哪些? (实现消费者负载均衡;消费者加入/离开、订阅Topic变化等)
  • JAVA中常见队列详解-非线程安全
  • by 组态在化工生产线自动化控制中的应用方案