在公司电脑上,经常遇到Failed to initialize NVML: Driver/library version mismatch

其实呢,就是显卡和Driver版本不匹配。

(base) ng@ng-Z390:/home/lrs/KAIR-master$ nvidia-smi
Failed to initialize NVML: Driver/library version mismatch

有人说删驱动,其实很傻逼的,如果有驱动,删了浪费时间。

查看nvcc,就知道有驱动了。


(base) ng@ng-Z390:/home/lrs/KAIR-master$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2020 NVIDIA Corporation
Built on Thu_Jun_11_22:26:38_PDT_2020
Cuda compilation tools, release 11.0, V11.0.194
Build cuda_11.0_bu.TC445_37.28540450_0

查看nvidia的version

(base) ng@ng-Z390:/home/lrs/KAIR-master$ cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86_64 Kernel Module  460.73.01  Thu Apr  1 21:40:36 UTC 2021
GCC version:  gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04) 

Failed to initialize NVML: Driver/library version mismatch最正确的方法是sudo dkms install -m nvidia -v 460.73.01460.73.01是版本。

如果安装报错,就查看对应的log。

unset ARCH; [ ! -h /usr/bin/cc ] && export CC=/usr/bin/gcc; env NV_VERBOSE=1 'make' -j16 NV_EXCLUDE_BUILD_MODULES='' KERNEL_UNAME=5.4.0-73-generic IGNORE_XEN_PRESENCE=1 IGNORE_CC_MISMATCH=1 SYSSRC=/lib/modules/5.4.0-73-generic/build LD=/usr/bin/ld.bfd modules....(bad exit status: 2)
Error! Bad return status for module build on kernel: 5.4.0-73-generic (x86_64)
Consult /var/lib/dkms/nvidia/460.73.01/build/make.log for more information.

我的log是/var/lib/dkms/nvidia/460.73.01/build/make.log

下面是log 报错的原因

cc: error: unrecognized command line option ‘-fstack-protector-strong’
make[2]: *** [/var/lib/dkms/nvidia/460.73.01/build/nvidia/nv-acpi.o] Error 1
Makefile:1760: recipe for target '/var/lib/dkms/nvidia/460.73.01/build' failed
make[1]: *** [/var/lib/dkms/nvidia/460.73.01/build] Error 2
make[1]: 离开目录“/usr/src/linux-headers-5.4.0-73-generic”
Makefile:80: recipe for target 'modules' failed
make: *** [modules] Error 2

这个cc: error: unrecognized command line option ‘-fstack-protector-strong’基本上是C++编译的问题,因此建议换gcc版本

之前是4.7的,更了4.8或者7的都没有问题。

ubuntu安装gcc

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-7
sudo apt-get install g++-7

(base) ng@ng-Z390:~/miniconda3$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.7 99
(base) ng@ng-Z390:~/miniconda3$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 100

在设置gcc设置软链接可能会出现错误,下面是具体的解决方法:

修改软连接

查看博客:https://blog.csdn.net/recher_He1107/article/details/106739850

如果没有问题,就设置默认gcc版本,再安装sudo dkms install -m nvidia -v 460.73.01

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 100
(base) ng@ng-Z390:~/miniconda3$ sudo dkms install -m nvidia -v 460.73.01

安装好了,就基本没有问题,如果出现什么文件存在,其实之前安装报错,文件存在,删除就可以了

(base) ng@ng-Z390:~$ nvidia-smi
Mon Jun 28 14:03:35 2021
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.73.01    Driver Version: 460.73.01    CUDA Version: 11.2     |
|-------------------------------+----------------------+----------------------+
| 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  GeForce RTX 208...  Off  | 00000000:02:00.0 Off |                  N/A |
| 25%   64C    P0    50W / 250W |      0MiB / 11016MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------++-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

这几天发现又出现了问题,看了一个nvidia 的版本突然变成了460.80,按照上面的方法,重新了安装了460.80

 sudo dkms install -m nvidia -v 460.80

我于是在ubuntu18.04 配置禁止升级并安装NVIDIA显卡驱动

修改配置文件/etc/apt/apt.conf.d/10periodic
#0是关闭,1是开启,将所有值改为0
(base) ng@ng-Z390:/etc/apt/apt.conf.d$ cat 10periodic
APT::Periodic::Update-Package-Lists "0";
APT::Periodic::Download-Upgradeable-Packages "0";
APT::Periodic::AutocleanInterval "0";
APT::Periodic::Unattended-Upgrade "1";(base) ng@ng-Z390:/etc/apt/apt.conf.d$ cat 10periodic
APT::Periodic::Update-Package-Lists "0";
APT::Periodic::Download-Upgradeable-Packages "0";
APT::Periodic::AutocleanInterval "0";
APT::Periodic::Unattended-Upgrade "0";(base) ng@ng-Z390:/etc/apt/apt.conf.d$ sudo apt-mark hold linux-image-generic linux-headers-generic
linux-image-generic 已经设置为保留。
linux-headers-generic 已经设置为保留

nvidia-smi:Failed to initialize NVML: Driver/library version mismatch相关推荐

  1. failed to initialize nvml driver/library version mismatch ubuntu

    英伟达驱动版本是384.130 显示的NVRM version: NVIDIA UNIX x86_64 Kernel Module是:384.130. 若是旧的版本就会出现如下问题. 这个问题出现的原 ...

  2. 【Failed to initialize NVML: Driver/library version mismatch(已解决)】

    [解决问题:Failed to initialize NVML: Driver/library version mismatch] 首先需要查看驱动内核版本,终端输入: cat /proc/drive ...

  3. Failed to initialize NVML: Driver/library version mismatch

    Bug描述:使用 watch -n 0.1 nvidia-smi 命令查看GPU使用情况时出现 : 原因:ubuntu自动更新导致显卡驱动和显卡不兼容导致! 解决: 1.sudo reboot 重启服 ...

  4. nvidia-smi遇到Failed to initialize NVML: Driver/library version mismatch问题,重启不好使时的解决办法

    这个问题很多答案说重启,但对于我的情况,并不管用. 问题 先说一下我遇到的情况: 输入dmesg |tail -4之后发现我的client是470,但kernael module是460.27,即版本 ...

  5. invidia-smi报错Failed to initialize NVML: Driver/library version mismatch的根本原因

    背景 在上篇文章中我们阐述了如何去解决问题,结尾提出疑惑,思考根本原因,相信评论区的大神很多都已经有了答案,没错,就是禁止ubuntu20.04内核自动更新 解决方案 查看已安装的内核 dpkg -- ...

  6. Nvidia 显卡 Failed to initialize NVML Driver/library version

    https://www.zywvvd.com/notes/system/linux/driver/driver-library-version-mismatch/driver-library-vers ...

  7. ubuntu 重装 nvidia_nvidia-smi指令报错:Failed to initialize NVML: Driver解决

    分配的新电脑,ubuntu18.04系统,nvidia的驱动都装好了,但是使用指令: nvidia-smi 报错: Failed to initialize NVML: Driver/library ...

  8. 解决Driver/library version mismatch

    服务器更新nvidia driver 版本之后,经常会出现 Failed to initialize NVML: Driver/library version mismatch 这个问题出现的原因是k ...

  9. Driver/library version mismatch

    nvidia-smi报错 Failed to initialize NVML: Driver/library version mismatch 之前还好好的,不知道做了什么,显卡驱动报错了,下面介绍解 ...

最新文章

  1. PL/SQL两种case语句写法
  2. 学习vue第一篇记录
  3. Android多线程研究(8)——Java中的原子性理解
  4. tdd java_Java TDD简介–第2部分
  5. 关于PHPExcel 导出下载表格,调试器响应乱码
  6. Juniper srx系列防火墙端口限速
  7. 写通俗易懂代码-用卫语句替代嵌套条件表达式
  8. Opencv轮廓矩【判断形态方向、匹配度】
  9. java多线程-创建线程
  10. 11矩阵的QR分解(1)
  11. linux导入表dmp文件命令,linux下导入.dmp文件
  12. 潜入蓝翔技校二十天 探究蓝翔黑客真正的奥秘
  13. GetComponentsInChildren 不能获取enabled = false的子物体
  14. html盒子模型 正方形嵌套,前端box(盒子嵌套)
  15. iOS开发证书不受信任
  16. 第一课:jquery入门
  17. 单片机—外部中断与定时器 学习笔记
  18. 今日芯声 | 一张壁纸!让你的小米MIX 3华丽变身“MIX Alpha”
  19. 360杀毒属于计算机操作系统吗,360杀毒软件 统一操作系统UOS,保护您的电脑安全...
  20. 鱼子单位换算器v1.0.1 - 跨物理量单位换算器

热门文章

  1. C/Cpp / Cpp 中 struct 和 class 区别
  2. MySQL / 可重复读到底是怎么实现的?图解 ReadView 机制
  3. OS / 线程的 3 种实现方式(内核级,用户级 和 混合型)
  4. 一个快速实现彩屏应用的跨平台快速原型开发工具平台,最重要的是还免费!8ms.xyz平台原以为是单片机版墨刀,今天上去玩了才知道平台厉害的很,基于WEB端免搭建开发环境,跑的还是C代码编译出来的程序!
  5. java 条件变量_Windows下条件变量的实现
  6. a标签download属性无效_HTML从零开始——链接标签
  7. c语言编程抢30,抢三十-程序?
  8. Kubernetes入门——Kubernetes工作原理及使用
  9. 链表的基本操作 java_JAVA实现单链表的基本操作
  10. VS Code Pettier设置换行最大宽度