服务器 Unbuntu重启后,nvidia-smi 不能使用
问题
用来深度学习的服务器重启了,结果会导致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.
接下来才是重点:
降低内核版本
- 首先查看自己的grub版本
grub-install --version
看看(GRUB)之后的大版本是2.00以后还是2.00以前 ,后面操作会有不同
- 查看自己的内核版本
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
- 找到自己想换回的内核版本
这里我们换到 25,这里有两个 ,注意我们不看 (recovery mode)
复制上面信息中menuentry之后的单引号内的字符串,比如我的是 Ubuntu, with Linux 5.15.0-25-generic
- 修改grub
在终端输入 sudo vim /etc/default/grub
将第一个 GRUB_DEFAULT=0
修改为刚才复制的内容
GRUB_DEFAULT ="Ubuntu, with Linux 5.15.0-25-generic"
注意加双引号
- 更新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"
- 再次输入
sudo update-grub
此时应该没有warning - 重启
sudo reboot
重启会需要一定的时间 - 重启成功后,查看是否降低内核成功
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 不能使用相关推荐
- 服务器ubuntu重启后不自动进入桌面【服务器维护(一)】
一.问题描述 服务器Ubuntu系统 重启后闪一下红紫色后 直接进入了tty界面 二.解决方法 1.登录账号密码 2.查看是否联网# 尝试联网 sudo dhclient eth0# 如果显示cann ...
- 服务器关闭重启后客户端socket能自动连接吗_用Python 撸一个 Web 服务器
从一个 Hello World 程序说起 要编写 Web 服务器,需要用到一个 Python 内置库 socket.Socket 是一个比较抽象的概念,中文叫套接字,它代表一个网络连接.两台计算机之间 ...
- 【环境配置】解决Ubuntu重启后Nvidia驱动消失的问题
问题出现的原因是因为重启ubuntu的内核进行了更新,提供了一些新的特性,但是更新后的ubantu内核导向的是最新的显卡驱动,所以导致你之前安装的显卡驱动有,但是因为内核的指向发生改变导致找不到. 怎 ...
- linux服务器网卡重启后会还原,详解CentOS重启后resolv.conf被重置的解决方案
近期在修改一台CentOS服务器的dns时发现只要重启服务器DNS就会被强制还原,解决方案如下: 1.首先在网卡设置中修改NM_CONTROLLED的值: 修改文件/etc/sysconfig/net ...
- oracle在服务器断电重启后启动报错ORA-00600: internal error code, arguments: [kcm_headroom_warn_1], []
一.错误场景介绍. 数据库:11.2.0.4(单实例,没有任何备份) 系统:Centos 6.5(虚拟机) 由于机房断电导致oracle数据库(单实例)所在服务器的虚拟服务器出现问题,在经过恢复后虚拟 ...
- 【记录+解决】ubuntu服务器显卡驱动安装;Ubuntu20.04重启后找不到Nvidia显卡驱动
记录ubuntu服务器显卡驱动安装 一次ubuntu服务器显卡驱动安装历程,简单记录. 1.下载Nvidia-Linux驱动到本地 Nvidia-Linux-XXX.run 2.停用桌面,安装驱动 / ...
- 服务器重启之后NVIDIA出现问题原因汇总
问题一: nvidia-smi报错:NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver 原因及避坑 ...
- 远程ubuntu 20.04的nvidia驱动自动更新,机器重启后,ToDesk或者向日葵等远程连接黑屏,解决办法:为远程设备添加虚拟显示器
0 避坑提醒 第4部分的解决办法,很多网友反映,会导致物理显示器不能用!请仔细阅读文章里的解决办法. 请仔细阅读第5部分的特别注意事项,虚拟显示器会和物理显示器冲突.让虚拟显示器和物理显示器同时工作的 ...
- 阿里云Windows服务器重启后无法远程桌面连接,大量注册表在检测
背景: 今天阿里金融云上有一台服务器不能远程桌面连接,现象:连接上去就会断开,从WEB控制台和远程桌面都是一样的现象. 我从WEB控制台上强制重启之后,通过VNC连接服务器看到大量类似注册表的扫描记 ...
最新文章
- 风控算法最常见的知识WOE讲解!
- CPU和GPU跑深度学习差别有多大?
- 宁做程序员,不做 CTO!估值 50 亿美元公司的创始人只想专注编程
- 如何使用Lombok来优雅的编码
- noip2019集训测试赛(五)
- 3.2 为超参数选择合适的范围-深度学习第二课《改善深层神经网络》-Stanford吴恩达教授
- tkinter笔记:通过点击button 控制标签的显示 (莫烦python笔记)
- Android 屏幕常亮、低电量监听
- 岗位内推 | 微软亚洲研究院智能多媒体组招聘计算机视觉算法实习生
- WAV音频格式解析C代码
- C语言中指针与数组的区别,C语言 指针与数组的详解及区别
- python 爬网站 实例_python爬虫实战:之爬取京东商城实例教程!(含源代码)
- 农村三资管理平台app_中科农村三资管理信息系统下载
- vue常见的ui框架
- 实现数字手写图片识别(纯代码)
- 网络安全基础:公钥密码体制
- 【Unity3D】人机交互Input
- 再度升级:深入分析针对金融科技公司的Evilnum恶意软件及组件
- 一、JDK 1.8源码分析-源码结构介绍篇
- IMAX B6充电器使用说明