暂停,使用 GPU 后挂起

暂停,使用 GPU 后挂起

问题

正常情况下,当xorgcompiz在我的 gpu 中运行时,我可以Suspend平静地运行。但是如果我运行一些激烈的(90%的 GPU 正在使用中)训练(通过 jupyter)与相关pytorch,然后在进程结束后暂停,它拒绝睡眠/唤醒。

我确信 GPU 已满或未空是导致此问题的原因。我不知道为什么可能与 GPU 相关的“某个进程”没有暂停。当我运行jupyter并运行1+1(或运行一个简单的进程)时Suspend,也没有问题。

问题

Kernlog 没有显示任何“可疑”信息。我尝试了很多在线补救措施。现在还是无济于事。

我如何确定发生了什么?有什么想法吗?

其他症状

它有点休眠了,但当我按下某个键时,我仍然能听到笔记本电脑发出一些声音(听起来好像它正在启动)。然后屏幕一片空白。有时我可以进入 TTY,但无法输入任何内容。


我的系统

  • Ubuntu 16.04
  • Nvidia 1050 GeForce
  • 宏碁 nitro 5 8gb 内存

我做了哪些尝试来纠正这个问题?

花了整整五天的时间去理解、搜索和重新安装等等...现在走进了死胡同。

  1. 检查了kern 日志(pastebin 链接)但没有发现任何“可疑”之处。(当02:08我开始睡觉时,10:21我按下了硬重置)。

    以下是一小段摘录:

Oct  2 02:08:06 eghx-nitro NetworkManager[8152]: <info>  [1601597286.6443] manager: sleep requested (sleeping: no  enabled: yes)
Oct  2 02:08:06 eghx-nitro NetworkManager[8152]: <info>  [1601597286.6443] manager: sleeping...
Oct  2 02:08:06 eghx-nitro NetworkManager[8152]: <info>  [1601597286.6447] manager: NetworkManager state is now ASLEEP
Oct  2 02:08:06 eghx-nitro NetworkManager[8152]: <info>  [1601597286.6453] device (wlp2s0): state change: activated -> deactivating (reason 'sleeping') [100 110 37]
Oct  2 02:08:06 eghx-nitro NetworkManager[8152]: <info>  [1601597286.8169] device (wlp2s0): state change: deactivating -> disconnected (reason 'sleeping') [110 30 37]
Oct  2 02:08:06 eghx-nitro NetworkManager[8152]: <info>  [1601597286.8356] dhcp4 (wlp2s0): canceled DHCP transaction, DHCP client pid 8328
Oct  2 02:08:06 eghx-nitro NetworkManager[8152]: <info>  [1601597286.8356] dhcp4 (wlp2s0): state changed bound -> done
Oct  2 02:08:06 eghx-nitro NetworkManager[8152]: <info>  [1601597286.8363] dns-mgr: Writing DNS information to /sbin/resolvconf
Oct  2 02:08:06 eghx-nitro kernel: [24100.153393] wlp2s0: deauthenticating from e8:cc:18:41:3c:15 by local choice (Reason: 3=DEAUTH_LEAVING)
Oct  2 02:08:07 eghx-nitro NetworkManager[8152]: <warn>  [1601597287.0509] sup-iface[0xb4a6f0,wlp2s0]: connection disconnected (reason -3)
Oct  2 02:08:07 eghx-nitro NetworkManager[8152]: <info>  [1601597287.0511] device (wlp2s0): supplicant interface state: completed -> disconnected
Oct  2 02:08:07 eghx-nitro NetworkManager[8152]: <info>  [1601597287.0525] device (wlp2s0): state change: disconnected -> unmanaged (reason 'sleeping') [30 10 37]
Oct  2 02:08:08 eghx-nitro kernel: [24101.983885] PM: suspend entry (deep)
Oct  2 02:08:09 eghx-nitro kernel: [24101.983888] PM: Syncing filesystems ... done.
Oct  2 10:21:32 eghx-nitro kernel: [24103.953554] Freezing user space
processes ... (elapsed 0.002 seconds) done.
  1. 基于Nvidia 论坛将以下内容添加到 grub 并更新。

     GRUB_CMDLINE_LINUX_DEFAULT="quiet acpi_rev_override=1
     acpi_osi=Linux scsi_mod.use_blk_mq=1 nouveau.modeset=0
     nouveau.runpm=0 mem_sleep_default=deep"
    

    在 iniramfs-tools/modules 中添加了以下内容并更新。

     nvidia
     nvidia_modeset
     nvidia_uvm
     nvidia_drm
    
  2. 没有更改内核,因为没有证据表明需要这样做。人们改成了 4.17。我的内核目前是 4.15。

  3. 盲目尝试:尝试不同的(暂停)

     systemctl suspend
    
     pm-suspend
    
  4. 尝试将驱动程序从 430 降级到 384,并在 处进行更改 additional drivers。这没有用,因为它无法与pytorch=1.6.0

  5. nvdia-430按照要求完全移除并重新安装这里
    purgeadd-apt-repository ppa:graphics-drivers/ppaupdateautoinstall

    这导致死机黑屏。用 恢复 noveau.modeset=0。不知何故 GPU 不再工作了。

  6. 此时完全重新安装在登录屏幕之前,通过xservertty终端unitylightdmnvidia-430

    这会将系统恢复到以前的状态,即suspend 当 GPU 满载时系统会挂起。

相关内容