nvidia-smi报错:NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver 原因及避坑解决方案_nvidia-smi has failed because it couldn't communic-程序员宅基地

技术标签: 环境配置  linux  Nvidia驱动  

由于断电,服务器重启了,当我再次跑实验时,发现cuda不可用,于是输入“nvidia-smi”才发现了一个错误,如下:

      NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver

这是由于重启服务器,linux内核升级导致的,由于linux内核升级,之前的Nvidia驱动就不匹配连接了,但是此时Nvidia驱动还在,可以通过命令 nvcc -V 找到答案。
在这里插入图片描述

于是我频繁查找解决方法,在这篇博客中找到了答案,但是每台电脑的情况都有不同,我这台电脑还有更多的坑(下文再说其余坑的解决方法),首先说解决方法:

第一步,安装dkms:

sudo apt-get install dkms

第二步,查看本机连接不上的驱动版本:

ls -l /usr/src/

可以看到有一个nvidia的文件,我这里是 nvidia-470.103.01
在这里插入图片描述
如果没有 nvidia-470.103.01 这类文件,那么请作者打开 unbuntn 的软件与升级,如下:
在这里插入图片描述
打开以后发现有一项 additional drivers ,根据自己的需求安装一个就好了,我这里安装的470,如下:
在这里插入图片描述
安装完成后在 /usr/src/ 目录下就会有 nvidia-470.103.01 文件啦!

第三步,使用dkms重新安装适合驱动:

sudo dkms install -m nvidia -v 470.103.01

这条命令 -v 后面需要填写本机的nvidia驱动版本,根据第二步得到!

到了这里,如果你安装成功,那么恭喜你,此时输入nvidia-smi就会成功连接了!
在这里插入图片描述

============================================================================
如果安装失败了,请跟者本文走>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

此时,如果你的gcc(尽量大于7.3版本)版本过低,那么上述命令sudo dkms install -m nvidia -v 470.103.01失败的原因就找到了,查看现有的gcc版本:

gcc --version

这里我讲解安装gcc7.5版本的过程:

第一步,下载gcc,输入命令:

cd /usr/local/src/
wget http://ftp.gnu.org/gnu/gcc/gcc-7.5.0/gcc-7.5.0.tar.xz tar xvf
gcc-7.3.0.tar.xz

第二步,安装gcc的依赖软件,gcc的软件包内提供了自动下载需要软件的脚本,命令如下:

cd gcc-7.5.0/
./contrib/download_prerequisites

第三步,生成Makefile文件,输入命令:

./configure -enable-checking=release -enable-languages=c,c++ -disable-multilib

第四步,编译gcc,命令如下:

make -j4
ls /usr/local/bin | grep gcc

多核电脑可以添加 “-j4” ,make对多核处理器的优化选项,此步骤非常耗时 !

第五步,安装gcc,命令如下:

make install

安装完成后,再次输入命令sudo dkms install -m nvidia -v 470.103.01,如果成功了,恭喜你!

=============================================================================
如果失败了,别急,接着往下看>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
此时,我们需要把新安装的gcc版本的优先级调到最高,否则系统还是会调用以前版本的gcc,这样还是会导致命令sudo dkms install -m nvidia -v 470.103.01失败。

gcc/usr/bin 目录下,输入命令查看所有版本的gcc:

ls /usr/bin/gcc*
ls /usr/bin/g++*

在这里插入图片描述

将查到的版本加入gcc候选中,最后的数字是优先级,如下:

> sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 100
> sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 100
> sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-6 100
> sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 100

完成上面的操作之后,我们就可以通过下面的指令来选择不同的gcc和g++的版本了

sudo update-alternatives --config gcc

在这里插入图片描述
这里我们选择新安装的 gcc-7,也就是输入数字 2 ,到这里,我们在输入命令sudo dkms install -m nvidia -v 470.103.01,成功!

重启电脑,输入nvidia-smi,链接成功!

以上就是本博主遇到的所有坑以及解决办法,喜欢的点个赞支持一下白!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/nizhenshishuai/article/details/123873453

智能推荐

计算机格式化系统,Win7电脑怎么进行格式化?-程序员宅基地

文章浏览阅读2.3k次。电脑使用时间长了,就会储存很多的文件和数据,系统就会慢慢变得卡顿,最快的解决办法就是格式化电脑,但是我们要怎么操作呢?今天小编就给大家分享下怎么用win7电脑进行格式化的办法吧。具体方法如下:1、首先我们在电脑桌面上点击“计算机”,如图所示。2、在里面鼠标右键点击一个需要格式化的磁盘,C盘一般是不能格式化的,不然系统无法运转,如图所示。3、之后我们在弹出来的选项卡中,点击里面的“格式化”选项。4、..._win7电脑系统格式化

基于Matlab人脸识别签到系统(GUI界面)_matlab签到系统源代码-程序员宅基地

文章浏览阅读945次。基于Matlab人脸识别签到系统(GUI界面)_matlab签到系统源代码

多径信道下的LMS、RLS均衡算法研究(二)-程序员宅基地

文章浏览阅读1.3k次,点赞2次,收藏7次。将经过多径衰落后信道经过LMS(least-mean-square)、RLS(recursive least-squares)算法进行均衡处理。_rls均衡

调度系统 | Azkaban、Xxl-Job与Airflow对比分析-程序员宅基地

文章浏览阅读1.7k次。Xxl-Job简述XXL-JOB是一个国内轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。基于Java技术栈,调度中心与执行器通信基于作者另一个开源项目xxl..._azkaban和xxljob

Maven的安装与配置(详细版)-程序员宅基地

文章浏览阅读2.6w次,点赞41次,收藏164次。一、安装Maven安装路径:点击链接进去直接下载所需的版本Maven官网一、最新版本下载方式1、点击链接进入Maven官网2、找到左侧栏的Download找到Files下载即可二、所有版本的下载方式(里面新老版本都有)1、点击链接进入Maven官网2、找到左侧栏的Download3、查看图二中箭头所指向的archives点击进去里面有所有的版本4、找到需要的版本号进行对应下载二、Maven的配置教程来咯1、在官网下载完Maven后,放在自己修改的路径下,将压缩包解压

SAP Review Vendor Consignment-程序员宅基地

文章浏览阅读1.4k次。Vendor Consignment(寄售)GR Block stock MVT 103Return for Purchase PO: Return indicatormvt 161Vendor :Plant (100pc,属于供应商)基本的设定:l 物料主数据:MRPview2特殊采购类 F 10l 信息记录 inforecord类型选Consignm_sap review

随便推点

交接处挂网_抹灰工程中,不同材料的交接处要挂钢丝网,请问构造柱要挂吗?混凝土与砌体交接的阴角要挂吗?...-程序员宅基地

文章浏览阅读3.3k次。展开全部无论是抹灰还是装饰等 只要是两种不同e69da5e887aa3231313335323631343130323136353331333431363031材料同在一面,就应当挂钢丝网或者玻纤网。两种材料收缩率不同,挂网防止开裂。用抹面砂浆涂抹在基底材料的表面,具有保护基层和增加美观的作用,为建筑物提供特殊功能的系统施工过程。非常规抹灰的加强措施:当抹灰总厚度≥35mm时,应采取加强措施。不同...

grep 多条件并行满足_【125】Linux 中 ps ef|grep和ps、grep详解-程序员宅基地

文章浏览阅读744次。一、ps -ef|grep详解(原文见公众号python宝)ps命令将某个进程显示出来,PS是LINUX下最常用的也是非常强大的进程查看命令grep命令是查找,是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用..._ps -ef 多个条件

VMware虚拟机Ubuntu最最最简单的联网方式_vmware ubuntu如何被局域网手机访问-程序员宅基地

文章浏览阅读393次,点赞2次,收藏3次。网络适配器 -> 桥接模式 -> 勾选“复制物理网络连接状态” -> 确认。查了网上无数方法都连不上,真的很无语,一个个方法高大上,但没用。VMware菜单栏 -> 虚拟机 -> 设置。打开虚拟机Ubuntu,已联网成功。_vmware ubuntu如何被局域网手机访问

配置两台物理机的VMware 虚拟机互联互通_vm虚拟机,新建几台虚拟机是互联的吗-程序员宅基地

文章浏览阅读1w次,点赞5次,收藏32次。由于测试部署服务需要资源较大、单机PC扩展到最大无法纵向扩展,所以借助VMware Workstations(试用)连接其他PC的虚拟机横向扩展需求场景:PC1和PC2互通PC1和PC1-VM1、PC2-VM2互通PC2和PC1-VM1、PC2-VM2互通PC1-VM1和PC2-VM2互通环境准备:物理机:PC1、PC2两台物理机上分别创建1台虚拟机PC1-VM1、PC2-VM2网线1根IP规划主机名PC_IP/网关VMnet0_IP/网关VMnet8_IP/网关_vm虚拟机,新建几台虚拟机是互联的吗

activiti7 快速体验_activiti7开发(三)-我的待办-程序员宅基地

文章浏览阅读626次。从设计工作流程图开始,到启动工作流,到结束工作流,用一个简单的小例子快速体验一下 activiti 的使用方式_activiti7开发(三)-我的待办

推荐文章

热门文章

相关标签