问题

用来深度学习的服务器重启了,结果会导致nvidia-smi 失效,会出现这样的错误:

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

原因

Ubuntu 重启后会升级内核,升级后的内核与之前 的nvidia驱动版本不对应

解决方法

把内核降低到原来的版本,找到之前内核与之匹配的nvidia 驱动版本,

ll /usr/src/


图片最下面nvidia-510.60.02 就是之前nvidia 驱动,

然后执行

sudo apt install dkms
sudo dkms install -m nvidia -v 510.60.02

但是往往会执行失败,如果成功的话,就不会出现我们刚开始的问题了。
错误如下

File: /usr/src/nvidia-510.60.02/dkms.conf does not exist.

接下来才是重点:

降低内核版本

  1. 首先查看自己的grub版本
grub-install --version

看看(GRUB)之后的大版本是2.00以后还是2.00以前 ,后面操作会有不同

  1. 查看自己的内核版本
uname -r

我的是 5.15.0-58-generic

然后查看内核版本有哪些

grep menuentry /boot/grub/grub.cfg

然后找menuentry

if [ x"${feature_menuentry_id}" = xy ]; thenmenuentry_id_option="--id"menuentry_id_option=""
export menuentry_id_option
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-229d416d-6318-4310-a1b4-b5b7eb2faf88' {submenu 'Advanced options for Ubuntu' $menuentry_id_option 'gnulinux-advanced-229d416d-6318-4310-a1b4-b5b7eb2faf88' {menuentry 'Ubuntu, with Linux 5.15.0-58-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.0-58-generic-advanced-229d416d-6318-4310-a1b4-b5b7eb2faf88' {menuentry 'Ubuntu, with Linux 5.15.0-58-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.0-58-generic-recovery-229d416d-6318-4310-a1b4-b5b7eb2faf88' {menuentry 'Ubuntu, with Linux 5.15.0-25-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.0-25-generic-advanced-229d416d-6318-4310-a1b4-b5b7eb2faf88' {menuentry 'Ubuntu, with Linux 5.15.0-25-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.0-25-generic-recovery-229d416d-6318-4310-a1b4-b5b7eb2faf88' {

一共四个,很大可能就是 版本低的5.15.0-25 升级到了5.15.0-58 ,所以我们要降到 25

  1. 找到自己想换回的内核版本

这里我们换到 25,这里有两个 ,注意我们不看 (recovery mode)

复制上面信息中menuentry之后的单引号内的字符串,比如我的是 Ubuntu, with Linux 5.15.0-25-generic

  1. 修改grub

在终端输入 sudo vim /etc/default/grub
将第一个 GRUB_DEFAULT=0

修改为刚才复制的内容
GRUB_DEFAULT ="Ubuntu, with Linux 5.15.0-25-generic"
注意加双引号

  1. 更新grub设置

终端输入
sudo update-grub
出现以下错误

Warning: Please don’t use old title Ubuntu, with Linux 5.15.0-25-generic' for GRUB_DEFAULT, use Advanced options for Ubuntu>Ubuntu, with Linux 5.15.0-25-generic’ (for versions before 2.00) or `gnulinux-advanced-229d416d-6318-4310-a1b4-b5b7eb2faf88>gnulinux-5.15.0-25-generic-advanced-229d416d-6318-4310-a1b4-b5b7eb2faf88’ (for 2.00 or later)

则根据之前看到的grub版本,如果大于等于2.00,则返回第二步中 要替换的内核版本 第三个单引号内的字符串复制粘贴 (其实也就是上述警告的or 的引号内容) 否则把 use后面单引号的内容复制粘贴。
也就是说一定要重新修改一次grub,就是
sudo vim /etc/default/grub
GRUB_DEFAULT ="Ubuntu, with Linux 5.15.0-25-generic" 替换为
GRUB_DEFAULT ="gnulinux-advanced-229d416d-6318-4310-a1b4-b5b7eb2faf88>gnulinux-5.15.0-25-generic-advanced-229d416d-6318-4310-a1b4-b5b7eb2faf88"

  1. 再次输入 sudo update-grub
    此时应该没有warning
  2. 重启
    sudo reboot
    重启会需要一定的时间
  3. 重启成功后,查看是否降低内核成功
    uname -r
    如果已经变成你想要改的内核版本,则继续,否则检查是否忘了sudo update-grub或者grub修改错误

此时nvidia的命令就已经可以使用了。

可以到这里就结束啦,目前我使用的没啥问题

如果还想要删除更新的内核

dpkg --get-selections | grep linux-image
linux-image-5.15.0-25-generic            install
linux-image-5.15.0-56-generic           deinstall
linux-image-5.15.0-57-generic           deinstall
linux-image-5.15.0-58-generic           install
linux-image-generic-hwe-22.04           install

自己自行搜索查看相关内容

参考

https://blog.csdn.net/HelloJinYe/article/details/106787295
https://blog.csdn.net/Terrence_Z/article/details/121921389

服务器 Unbuntu重启后,nvidia-smi 不能使用相关推荐

  1. 服务器ubuntu重启后不自动进入桌面【服务器维护(一)】

    一.问题描述 服务器Ubuntu系统 重启后闪一下红紫色后 直接进入了tty界面 二.解决方法 1.登录账号密码 2.查看是否联网# 尝试联网 sudo dhclient eth0# 如果显示cann ...

  2. 服务器关闭重启后客户端socket能自动连接吗_用Python 撸一个 Web 服务器

    从一个 Hello World 程序说起 要编写 Web 服务器,需要用到一个 Python 内置库 socket.Socket 是一个比较抽象的概念,中文叫套接字,它代表一个网络连接.两台计算机之间 ...

  3. 【环境配置】解决Ubuntu重启后Nvidia驱动消失的问题

    问题出现的原因是因为重启ubuntu的内核进行了更新,提供了一些新的特性,但是更新后的ubantu内核导向的是最新的显卡驱动,所以导致你之前安装的显卡驱动有,但是因为内核的指向发生改变导致找不到. 怎 ...

  4. linux服务器网卡重启后会还原,详解CentOS重启后resolv.conf被重置的解决方案

    近期在修改一台CentOS服务器的dns时发现只要重启服务器DNS就会被强制还原,解决方案如下: 1.首先在网卡设置中修改NM_CONTROLLED的值: 修改文件/etc/sysconfig/net ...

  5. oracle在服务器断电重启后启动报错ORA-00600: internal error code, arguments: [kcm_headroom_warn_1], []

    一.错误场景介绍. 数据库:11.2.0.4(单实例,没有任何备份) 系统:Centos 6.5(虚拟机) 由于机房断电导致oracle数据库(单实例)所在服务器的虚拟服务器出现问题,在经过恢复后虚拟 ...

  6. 【记录+解决】ubuntu服务器显卡驱动安装;Ubuntu20.04重启后找不到Nvidia显卡驱动

    记录ubuntu服务器显卡驱动安装 一次ubuntu服务器显卡驱动安装历程,简单记录. 1.下载Nvidia-Linux驱动到本地 Nvidia-Linux-XXX.run 2.停用桌面,安装驱动 / ...

  7. 服务器重启之后NVIDIA出现问题原因汇总

    问题一: nvidia-smi报错:NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver 原因及避坑 ...

  8. 远程ubuntu 20.04的nvidia驱动自动更新,机器重启后,ToDesk或者向日葵等远程连接黑屏,解决办法:为远程设备添加虚拟显示器

    0 避坑提醒 第4部分的解决办法,很多网友反映,会导致物理显示器不能用!请仔细阅读文章里的解决办法. 请仔细阅读第5部分的特别注意事项,虚拟显示器会和物理显示器冲突.让虚拟显示器和物理显示器同时工作的 ...

  9. 阿里云Windows服务器重启后无法远程桌面连接,大量注册表在检测

    背景: 今天阿里金融云上有一台服务器不能远程桌面连接,现象:连接上去就会断开,从WEB控制台和远程桌面都是一样的现象.  我从WEB控制台上强制重启之后,通过VNC连接服务器看到大量类似注册表的扫描记 ...

最新文章

  1. 风控算法最常见的知识WOE讲解!
  2. CPU和GPU跑深度学习差别有多大?
  3. 宁做程序员,不做 CTO!估值 50 亿美元公司的创始人只想专注编程
  4. 如何使用Lombok来优雅的编码
  5. noip2019集训测试赛(五)
  6. 3.2 为超参数选择合适的范围-深度学习第二课《改善深层神经网络》-Stanford吴恩达教授
  7. tkinter笔记:通过点击button 控制标签的显示 (莫烦python笔记)
  8. Android 屏幕常亮、低电量监听
  9. 岗位内推 | 微软亚洲研究院智能多媒体组招聘计算机视觉算法实习生
  10. WAV音频格式解析C代码
  11. C语言中指针与数组的区别,C语言 指针与数组的详解及区别
  12. python 爬网站 实例_python爬虫实战:之爬取京东商城实例教程!(含源代码)
  13. 农村三资管理平台app_中科农村三资管理信息系统下载
  14. vue常见的ui框架
  15. 实现数字手写图片识别(纯代码)
  16. 网络安全基础:公钥密码体制
  17. 【Unity3D】人机交互Input
  18. 再度升级:深入分析针对金融科技公司的Evilnum恶意软件及组件
  19. 一、JDK 1.8源码分析-源码结构介绍篇
  20. IMAX B6充电器使用说明

热门文章

  1. 随笔~游戏工作室的招聘
  2. 白话Lucene原理
  3. 看了大黄的代码以及模板,深感惭愧
  4. oracle tnsping 怎么用,oracle 11.2.0 tnsping ORCL; 报错,该如何解决
  5. 编写一个程序,清除用户输入字符串中的空格符并将之输出。
  6. 中国可以访问 Google Codelabs 网站啦!
  7. smali基础知识学习
  8. 工具----8、Xray漏洞扫描器
  9. 上海科技大学计算机考研分数,上海科技大学2021年考研复试分数线已公布
  10. C语言-NULL的值到底是什么?