【已解决】Ubuntu18.04下NVIDIA GPU驱动程序运行一段时间后出错“NVIDIA-SMI has failed”

          本人在使用Ubuntu18.04 NVIDIA GPU深度学习环境的过程中,每过一段时间就出现错误“NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running”,这时参考网上的做法卸载GPU驱动再重装,但是过一段时间后又不正常,经过观察发现,每次出现这种问题都是在Ubuntu系统自动更新后,今天将解决过程详细记录下来,安装驱动过程中也有雷区,网上很多帖子都没有详细说,这里说明记录一下,供有类似问题的深度学习研究童鞋参考。

        注意:我的电脑GPU为NVIDIA 940MX,安装了CUDA9.0和cuDNN支持,对于其他版本的GPU处理情况类似。这里针对的是之前已经安装过GPU驱动+CUDA+cuDNN的情况,对于首次安装GPU驱动,还需要将原始集成显卡加入黑名单等步骤,见我的另一篇帖子:《Ubuntu18.04下搭建深度学习环境(tensorflow CPU GPU、Keras、Pytorch、Pycharm、Jupyter)》

       解决方法: 

     1、禁用Ubuntu自动更新功能

      在Ubuntu设置中直接用图形界面就可以解决,在software&update中,相信贴两张截屏大家就应该明白

     

     

2、卸载所有NVIDIA驱动:

sudo apt-get remove --purge nvidia* 

3、确保gcc、g++4.8以上版本,安装nvidia驱动时候需要,Ubuntu18.04自带版本为gcc-7.3

       注意:安装NVIDIA GPU驱动需要gcc和g++的版本为7.0以上,Ubuntu18.04系统自带的gcc和g++就是7.3版本的,已经满足要求,但是由于之前安装好驱动后,继续安装的cuda9.0只支持4.8以下版本,所以之前在安装好GPU驱动后将gcc,g++降级到了4.8,这里要先确认版本,然后修改软连接。这里请去NVIDIA官网查看驱动需要的gcc和g++版本,否则即使使用下一步的命令安装好驱动后,使用nvdia-smi命令错误显示依旧。

      $cd /usr/bin
      $ls -l gcc*  #查看gcc链接 
      $sudo mv gcc gcc.bak #备份 
      $sudo ln -s gcc-7 gcc #重新链接
      $gcc –v     #显示版本为gcc-7.3
     #对g++进行同样的操作
      $ls -l g++*  #查看gcc链接
      $sudo mv g++ g++.bak #备份 
      $sudo ln -s g++-7 g++ #重新链接
      $g++ –v     #显示版本为g++-7.3

   4、安装GPU驱动

$sudo ubuntu-drivers autoinstall

   5、重启系统,使用nvidia-smi查看,看到显卡信息说明安装成功:

$sudo reboot
#重启系统后查看显卡信息
$nvidia-smi

通过系统设置菜单也可以看到显卡信息:

  6、安装完毕后将gccg++降级到4.8版本,CUDA要求的gccg++版本低于4.8,否则进行深度学习运算时候会出错。

$cd /usr/bin 
$ls -l gcc*  #查看gcc链接
$sudo mv gcc gcc.bak #备份 
$sudo ln -s gcc-4.8 gcc #重新链接
$gcc –v     #显示版本为gcc-4.8
#对g++进行同样的操作
$ls -l g++*  #查看gcc链接
$sudo mv g++ g++.bak #备份 
$sudo ln -s g++-4.8 g++ #重新链接
$g++ –v     #显示版本为g++-4.8

 

  • 18
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
要在Ubuntu 18.04上安装nvidia-smi,可以按照以下步骤进行操作: 1. 首先,通过运行以下命令来检查是否已安装NVIDIA驱动: ``` cat /proc/driver/nvidia/version ``` 如果输出为空,表示没有安装NVIDIA驱动。 2. 如果没有安装NVIDIA驱动,可以前往NVIDIA官网(https://www.nvidia.cn/drivers/unix/linux-amd64-display-archive/和https://www.nvidia.com/en-us/drivers/unix/)自行下载适用于您的内核版本的驱动程序。 3. 禁用Nouveau驱动。可以通过在开机界面选择进入Ubuntu高级选项,然后在Recovery Menu中选择root选项。接下来,您将进入控制台,并输入以下命令来卸载已安装的NVIDIA驱动: ``` sudo apt remove nvidia-版本号 ``` (请将“版本号”替换为您安装的NVIDIA驱动的版本号) 4. 重启系统后,在终端中运行以下命令来自动安装适用于您的硬件的NVIDIA驱动: ``` sudo ubuntu-drivers autoinstall ``` 5. 安装完成后,您可以通过按下Window键(即Super键)并搜索“Software & Updates”来打开软件和更新程序。在“Additional Drivers”页面下,您将看到NVIDIA驱动的选项。 6. 在“Additional Drivers”页面上,选择适合您的NVIDIA显卡的驱动,然后点击“Apply Changes”按钮。系统将自动安装所选驱动程序。 安装完成后,您应该能够在Ubuntu 18.04上使用nvidia-smi命令来查看NVIDIA显卡的相关信息。 <span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值