Mur*_*ray 77 suspend xps 18.04
这在 17.10 上运行良好,但在昨天升级到 18.04 后,当盖子关闭时,屏幕关闭但没有正确暂停。
我经常四处旅行,从旅行箱中取出时立即注意到热量(和电池耗尽)。
我试过在 /etc/systemd/logind.conf 中取消注释这些行
HandleLidSwitch=suspend
HandleLidSwitchDocked=suspend
Run Code Online (Sandbox Code Playgroud)
并重新启动但没有任何区别。
小智 116
我想我设法弄清楚发生了什么,这要归功于这两个来源:Dell XPS 13 (9370) ArchLinux 安装说明和Arch Linux 论坛。
出于某种原因,笔记本电脑不再进入深度睡眠,而是一种s2idle模式,它只是一种屏幕关闭类型的暂停。
要确认您的系统是否属于这种情况,请使用您喜欢的方法暂停笔记本电脑(合上盖子,点击Fn+ End,pm-suspend如果您已pm-utils安装,请在终端中输入,或者点击Windows按键类型suspend并点击Enter按键)。
从挂起模式唤醒并在终端中输入:sudo journalctl | grep "PM: suspend" | tail -2。如果输出是
May 13 18:41:00 mex kernel: PM: suspend entry (s2idle)
May 13 20:52:36 mex kernel: PM: suspend exit
Run Code Online (Sandbox Code Playgroud)
那么你就没有进入深度睡眠。您还可以检查cat /sys/power/mem_sleep哪个应该返回
[s2idle] deep
Run Code Online (Sandbox Code Playgroud)
这确认默认挂起模式是 s2idle (因为它用括号突出显示)。
要尝试临时修复,请echo deep > /sys/power/mem_sleep以 root 用户身份执行。检查是否已成功通过查看输出cat /sys/power/mem_sleep应该是
s2idle [deep]
Run Code Online (Sandbox Code Playgroud)
然后暂停笔记本电脑并再次唤醒。如果sudo journalctl | grep "PM: suspend" | tail -2返回
May 13 18:41:00 mex kernel: PM: suspend entry (deep)
May 13 20:52:36 mex kernel: PM: suspend exit
Run Code Online (Sandbox Code Playgroud)
那么问题应该得到解决。您可以让计算机休眠几个小时,然后检查电池消耗是否有所改善。
要使其永久有效,您必须编辑引导加载程序 cmdline。为此,请以 root 用户身份编辑文件 /etc/default/grub,例如运行sudo -H gedit /etc/default/grub. 更换线路
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
Run Code Online (Sandbox Code Playgroud)
和
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash mem_sleep_default=deep"
Run Code Online (Sandbox Code Playgroud)
并重新生成您的 grub 配置(运行sudo grub-mkconfig -o /boot/grub/grub.cfg)。
尝试创建/etc/systemd/sleep.conf:
[Sleep]
SuspendMode=
SuspendState=mem
Run Code Online (Sandbox Code Playgroud)
并重新启动。这似乎对我有用,尽管我不确定我首先所做的/etc/systemd/logind.conf更改是否也没有得到改善。在任何情况下,在盖子关闭的情况下悬挂时都没有观察到热量或风扇噪音,并且它也没有响应 ping wifi,这是我之前间歇性地得到的。
挂起时电池寿命仍然会下降,可能是因为挂起的工作方法比默认的、理想的、显然不能正常工作的方法效率低,但它似乎比默认行为更好。
在我的 XPS 13 9370 上尝试过,我不知道旧型号,尽管它们似乎很相似。
我试过安装pm-utils和使用pm-suspend,这似乎非常有效地暂停,所以我想看看我是否可以systemd-suspend做同样的事情。
我查看了脚本pm-utils以找出它实际在做什么,在这种情况下,它看起来像是在做什么echo -n "mem" > /sys/power/state。所以我创建了/etc/systemd/sleep.conf如上所示的文件来匹配它。
尚不完全清楚默认行为是什么。手册页systemd-sleep.conf说发行版应该包含/etc/systemd/sleep.conf注释掉的编译入默认值,因此您可以看到此信息,但在 ubuntu 中缺少此文件。我注意到,如果cat /sys/power/state你得到:
freeze mem
Run Code Online (Sandbox Code Playgroud)
所以我猜这就是它默认的做法。我的猜测是这freeze可能会被接受,因为它不会抛出错误,否则会导致 systemd 转到mem,但由于我们似乎无法确定的复杂原因,实际上可能无法正常或可靠地工作。因此,只是发送mem是一种有希望的尝试,可以避免这种情况并做该做的事情pm-suspend。
我怀疑 SuspendMode 设置实际上是多余的,无论如何都不做任何事情。我怀疑这是因为cat /sys/power/disk只是让你:
[disabled]
Run Code Online (Sandbox Code Playgroud)
我是新用户,因此无法通过观察发表评论,被迫将其作为答案呈现,好像我对它非常有信心!但我认为它有效。
这里的其他答案非常好,深入且经过充分研究。
不幸的是,它们不适用于我的特定机器:(
如果你有 nVidia 显卡,似乎有一个修复程序对很多人都有效,cascagrossa在回答这个问题时提供了帮助:Ubuntu 18.04 crashes on resuming from suspend
它被怀疑是一个有缺陷的 nouveau 驱动程序,可以通过将nouveau.modeset=0添加到 grub来解决挂起问题,并且在帮助其他人解决问题的评论中也得到了确认。
我在我的问题机器上安装了 Intel 显卡,奇怪的是我在至少 3 台其他机器(我朋友和我自己的)上的 Ubuntu 或 Kubuntu 18.04 没有挂起问题,那么为什么这台特定的机器如此糟糕不清楚。
我建议遇到此类问题的任何人按照以下步骤操作以帮助确定问题:
你有 nVidia 显卡吗?如果是这样,请尝试nouveau.modeset=0 grub 技巧。
检查暂停是否有效。如果您关闭盖子然后稍后再打开它并且它没有醒来,则它似乎无法“恢复”。
您应该能够在任何桌面上手动选择挂起,但它在 Gnome Shell 中略微隐藏 -您可以长按屏幕右上角菜单中的电源按钮,或者在按住 Alt 的同时单击该按钮或按 Super 键并键入在“暂停”
通过选择挂起,您可以检查屏幕是否已关闭,电源 LED 是否正常闪烁,并且您希望任何风扇运行也会停止。如果这一切发生,但那么你不能让你的机器唤醒那么它似乎是一个“恢复”的问题,而不是一个“暂停”的问题。
我的问题是它实际上并没有进入暂停状态,而 Murray 提出了原始问题,当碰撞二要求检查这一点时,意识到手动暂停时也会出现问题。
在我的情况下(在一台有问题的笔记本电脑上),屏幕变黑,但电源 LED 保持亮起,如果风扇正在运行,它会继续运行。机器不响应任何按键、触摸板移动或点击或电源按钮按下。唯一能做的就是关闭它。
我试过在进入挂起状态时播放音乐(检查它不仅仅是屏幕变黑),但音乐停止并且机器基本上已经停止工作。
使用 18.04 的 Live USB 尝试您的机器,并检查您是否有类似的挂起问题。
这只会确认挂起问题与您安装的任何其他程序无关。
在我的情况下,我怀疑这是因为我安装了tlp,它可能以某种方式干扰了挂起模式,但同样的行为发生在 Ubuntu 18.04 和 Kubuntu 18.04 的 Live USB 上
试试 monty47 和 StrangeNoises 在这里提供的另外两个经过充分研究的解决方案,看看你是否能得到好的结果。
如果没有任何解决方案可以解决您在 18.04 上的挂起问题,请尝试对此接受的答案: Ubuntu 18.04 在从挂起恢复时崩溃
Matalak(也提出了这个问题)提供的解决方案是使用UKUU来尝试较旧的 4.14 内核。
我的问题机器在 Ubuntu 17.10 和 Kubuntu 17.10 上没有挂起问题,所以这是有道理的,因为 17.10 使用 4.14 内核。它现在可以在使用 4.14 内核的 Ubuntu 18.04 和 Kubuntu 18.04 中正常挂起。
如果您尝试了其他解决方案并且只能通过返回到 4.14 内核来解决挂起问题,那么您可能对错误报告感兴趣: https : //bugs.launchpad.net/ubuntu/+source/linux/+bug/ 1774950
它似乎只影响具有特定硬件组合的几台机器,并且很难在其他与 nouveau 相关的问题或 s2idle 问题中识别。
对于那些运行 Bay Trail Atom Celeron/Pentium 的人来说,这似乎更为普遍,但其他人报告了其他机器的类似问题。
如果您能够在此失败的挂起之后检查您的 kern.log (即一旦您不得不关闭您的机器并重新启动),您可能会注意到它显示PM: suspend entry (deep)然后除了再次启动的许多行。
目前有一个补丁似乎可以解决这个问题。
如果您想将您的声音添加到错误报告中,那么查看哪些特定机器受到影响(并检查补丁是否为每个人解决了问题)会很有趣。
还试图在此线程中收集“18.04 中的暂停问题”:https ://ubuntuforums.org/showthread.php?t=2395562&p=13780724#post13780724
小智 5
只是想为 Thinkpad X1 Carbon 6th Gen 的用户添加一个答案,该用户有类似的症状,即挂起时电池耗尽,这也是由于未进入深度睡眠模式引起的。
联想论坛上的这个帖子讨论了这个问题,总之X1C6选择支持Windows Modern Standby。如果您仔细阅读该帖子,您会发现虽然症状相同,但 XPS 13 9370 和 X1C6 之间的根本原因差异很大。cat /sys/power/mem_sleep例如, X1C6 上的输出仅[s2idle]指示缺少对睡眠的支持deep。
到目前为止针对此问题发布的解决方案仅适用于 XPS 13,不适用于 X1C6。据我了解,解决 X1C6 挂起模式问题的最佳解决方案是DSDT首先应用Delta Xi提供的补丁,然后由 PombeirP更新。这篇文章将引导您了解如何应用补丁,但请确保在执行任何操作之前阅读该文章及其所有更新。
我写了一篇要点,记录了与在 Thinkpad X1 Carbon 6th Gen 上安装 Ubuntu 18.04 相关的问题,包括我发现的有关 LVM 导致的缓慢启动问题以及深度睡眠问题的解决方案。
| 归档时间: |
|
| 查看次数: |
42514 次 |
| 最近记录: |