解决NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver. Make sure that the l

我在训练代码的时候发现没有用上gpu,就想nvidia-smi查看一下运行状态,结果就出现了这个报错,本人只是记录自己遇到的问题,想知道结果的可以直接看最下面

大概意思就是NVIDIA-SMI 无法与 NVIDIA 驱动程序通信。通常情况下,这是由于 NVIDIA 驱动程序未正确安装或未加载而导致的

这个时候需要查看一下版本是否匹配,因为NVIDIA 驱动程序具有很强的版本依赖性,需要与特定的内核版本和 CUDA 版本匹配。

如果想查看是否安装完成NVIDIA 驱动程序,可以去终端输入

dpkg -l | grep nvidia

这个时候就会打印出来你的安装状态,比如我的就是这样,显示我已经安装了libnvidia-compute-535:amd64nvidia-utils-535版本的NVIDIA驱动程序。(解释一下:libnvidia-compute-535:amd64nvidia-utils-535是NVIDIA驱动程序的两个不同组件。它们提供了不同的功能和支持。libnvidia-compute是用于计算任务的NVIDIA库文件,它提供了对NVIDIA GPU的计算能力的访问和支持。nvidia-utils是一组NVIDIA驱动程序的实用工具和二进制文件,它们提供了与NVIDIA GPU相关的功能和配置选项。这两个组件一起构成了完整的NVIDIA驱动程序,以提供对NVIDIA显卡的计算和图形功能的支持。它们通常需要与特定版本的内核和操作系统配合使用,以确保兼容性和正常运行。)

rc  libnvidia-compute-525:amd64                525.147.05-0ubuntu0.20.04.1         amd64        NVIDIA libcompute package
ii  libnvidia-compute-535:amd64                535.146.02-0ubuntu0.20.04.1         amd64        NVIDIA libcompute package
rc  nvidia-compute-utils-525                   525.147.05-0ubuntu0.20.04.1         amd64        NVIDIA compute utilities
rc  nvidia-dkms-525                            525.147.05-0ubuntu0.20.04.1         amd64        NVIDIA DKMS package
rc  nvidia-kernel-common-525                   525.147.05-0ubuntu0.20.04.1         amd64        Shared files used with the kernel module
rc  nvidia-prime                               0.8.16~0.20.04.2                    all          Tools to enable NVIDIA's Prime
rc  nvidia-settings                            470.57.01-0ubuntu0.20.04.3          amd64        Tool for configuring the NVIDIA graphics driver
ii  nvidia-utils-535                           535.146.02-0ubuntu0.20.04.1         amd64        NVIDIA driver support binaries

接着我们在终端运行在终端中运行

sudo service nvidia-driver status

检查驱动程序是否正在运行

然后我就出现了这个

Unit nvidia-driver.service could not be found.

这个时候说明我的系统上可能没有安装NVIDIA驱动程序对应的系统服务。

这个时候我又输入了以下指令来检查驱动程序是不是被正确加载了。结果没有返回值

lsmod | grep nvidia

如果返回的结果中没有类似 nvidia 的字符串,说明 NVIDIA 驱动程序没有正确加载。你可以尝试手动加载驱动程序,命令如下:

sudo modprobe nvidia

然后我就显示无法识别显卡设备

modprobe: ERROR: could not insert 'nvidia': No such device

于是我越想越不对劲。OK,那我们从头在来,换个思路。我们首先知道这个问题可能是因为我们的内核版本与我们的驱动程序连接不成功,那么我们查看一下连不上的驱动版本是什么

ls -l /usr/src/

我们可以看到在最后一行出现了一个驱动版本

那么我们重新安装一下

sudo dkms install -m nvidia -v 535.146.02

安装完之后就可以了,如果你安装完之后发现输入nvidia-smi 命令还是无法与 NVIDIA 驱动程序通信,请不要着急。安装完之后需要对电脑进行重启以确保 NVIDIA 驱动程序正确加载,或者尝试运行

sudo modprobe nvidia 

命令来加载驱动程序。

为了方便,我把重启的代码也放在下面了,需要自取

reboot

  • 16
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值