首页 > 系统相关 >ubuntu在睡眠恢复后自动加载gpu驱动模块的方法:

ubuntu在睡眠恢复后自动加载gpu驱动模块的方法:

时间:2023-11-21 20:02:00浏览次数:50  
标签:dn resume ubuntu echo uvm nvidia gpu pm 加载



我的ubuntu18,睡眠唤醒后,gpu通讯会出现问题。因此我写了一个脚本,唤醒后执行。就可以继续我的gpu实验了。如果nvidia_uvm被占用的话,还需要停止占用内核的jupyter notebook。

重新加载cuda驱动


(py37)
dn@SSD-Panson:~$ cat 10_resume_from_sleep.sh 
#
应对ubuntu睡眠唤醒后无法与gpu通讯的问题
echo
'lsmod'
echo
'is nvidia_uvm in use?'
lsmod|grep
nvidia

echo
''
sudo
rmmod nvidia_uvm
echo
'rmmod success'
sudo
modprobe nvidia_uvm
echo
'modprobe success'

既然这样,可不可添加ubuntu18的唤醒自动化处理脚本中,这样我就不用每次调用这个脚本了呢?

作为兴趣,我觉得可以探究ubuntu的睡眠唤醒的自动化脚本。

查找了很多资料,以下的方法,在我的ubuntu18中并没有什么效果。但是我却得到了立刻睡眠的方法。


后续的操作,我并没有重启我的ubuntu18.04.我研究了pm-utils工具,但是好像他脱离了我的主要目标。因此我先将这个问题放在这里,希望得到有志之士的解答。我得回去继续处理我的twitter数据集了。

ubuntu睡眠的方法,桌面会话

根据ubuntu18怎样休眠这篇文章,先进入锁屏界面,也可以睡眠。或长按电源键,也可以休眠。这篇文章使用来关闭休眠功能的。对于自己家的电脑,我还想让它省点电。


pm-utils并没有解决问题

pm-utils 并没有起作用。下午我从睡眠唤醒了。没有执行脚本。

(py37) dn@SSD-Panson:/usr/lib/pm-utils/sleep.d$ cat nvidia-reload 
#! /bin/sh
# Workaround for not working nvidia cuda after suspend
case $1 in
    resume|thaw)
        sudo rmmod nvidia_uvm
        sudo modprobe nvidia_uvm
    # echo 'resume' > /home/dn/resume_status
    echo "$1 from $(date)" > /home/dn/resume_status
    echo "have sudo modprobe nvidia_uvm" >> /home/dn/resume_status
    ;;

    hibernate|suspend)
    echo "$1 at $(date)" > /home/dn/hibernate_status
    ;;
esac
(py37) dn@SSD-Panson:/usr/lib/pm-utils/sleep.d$ ls -l nvidia-reload 
-rwxrwxr-x 1 root root 199 11月 20 20:07 nvidia-reload

后续,也许需要研究pm-utils工具,但是这个工具太旧了。以此为入口吧。



标签:dn,resume,ubuntu,echo,uvm,nvidia,gpu,pm,加载
From: https://blog.51cto.com/u_11804721/8506028

相关文章

  • VMware Ubuntu 22.x.x ens33消失,不可用
    点击更改设置网段可自行修改,88可以改其他的,使用的时候统一即可,然后启用确定,不会照抄修改主机的VMnet8网关的网段和刚才的设置要相同,后续地址可以随意设置,但是不能和其他配置冲突,参考如下设置即可,dns选择合适的即可不会配置的直接照抄,保存后不要随意修改该配置,否则可能导致......
  • element-ui全局添加加载遮罩层
    创建loading.js文件import{Loading}from'element-ui';letloadingCount=0;letloading;conststartLoading=()=>{loading=Loading.service({lock:false,spinner:'el-icon-loading',background:'rgba(0,0,0,.5)......
  • 64位ubuntu运行32位.s
    要在64位Ubuntu系统上使用gcc生成32位的.s文件,您可以使用以下步骤:1.确保您的系统已安装32位的gcc工具链。在终端中运行以下命令以安装所需的软件包:点击查看代码sudoapt-getupdatesudoapt-getinstallgcc-multilib2.编写您的C代码文件,假设文件名为example.c。......
  • Init ubuntu for cpp dev
    sudoaptupdate;sudoaptupgrade-y;wgethttps://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb;sudodpkg-igoogle-chrome-stable_current_amd64.deb;sudosnapinstall--classiccode;sudoaptinstallgcc-13g++-13-y;sudoaptinstall......
  • Ubuntu更新源文件报错:E: 仓库 “http://ppa.launchpad.net/chris-lea/node.js/ubuntu
    E:仓库“http://ppa.launchpad.net/chris-lea/node.js/ubuntubionicRelease”没有Release文件。一条命令解决sudoadd-apt-repository--removeppa:chris-lea/node.jssudoadd-apt-repository--removeppa:xxxxx/xxxxx再去执行sudoapt-getupdate就可以顺利的解决了......
  • ubuntu解决问题E: 无法获得锁 (11: 资源暂时不可用)
    ubuntu解决问题E:无法获得锁/var/lib/dpkg/lock-open(11:资源暂时不可用)在用sudoapt-getinstall安装软件时,关闭了终端,导致apt-get但进程没有结束,结果终端提示:E:无法获得锁/var/lib/dpkg/lock-frontend-open(11:资源暂时不可用)E:Unabletoacquirethedpkgfron......
  • 加载场景不销毁物体
    加载场景不销毁物体挂在不想销毁的物体上usingUnityEngine;publicclassDontDestroyObject:MonoBehaviour{privatestaticDontDestroyObjectinstance;privatevoidAwake(){if(instance==null){instance=this;......
  • 内存加载.NET程序集&Bypass ETW
    内存加载.NET程序集&BypassETW在内存中加载可以使你的文件变得非常隐蔽,不需要落地文件。下面我们一起来学习一下,如何在内存中加载.net程序集,并且绕过ETW的检测。0x01Assembly.Load官方文档如下Assembly.Load方法(System.Reflection)|MicrosoftLearn,我在这里也简单介绍一......
  • 通过VNC 链接Ubuntu 远程桌面
    UbuntuServer安装VNCServer#更新软件到最新,为了方便下载软件包sudoaptupdate#安装Xfce桌面环境sudoaptinstallxfce4xfce4-goodies-y#安装vncserversudoaptinstalltightvncserver-y#设置vncserver密码,在Password页面输入密码然后再输入一遍确认下就OK了vnc......
  • Ubuntu安装最新nodejs
    环境:Ubuntu20.04.6问题描述由于ubuntu默认的apt下载器只能下载较老版本的nodejs,而使用源代码编译又有点麻烦,因此这里采用github上官方推荐的方式,推荐看官方的教程,里面还介绍了nodejs和ubuntu的对应版本,地址如下:https://github.com/nodesource/distributions。安装步骤Dow......