我如何弄清楚为什么挂起有时会失败?


17

有时会导致挂起崩溃。当它崩溃时,系统将以黑屏冻结并保持打开状态,而不是挂起。这使我必须按住电源按钮,直到系统关闭。

我与大多数人之间的一个设置差异是,我不使用让笔记本计算机的机盖合上后即暂停的选项。因此,打开和关闭笔记本电脑盖没有任何作用。我喜欢手动按暂停。造成这种偏好改变的原因吗?

由于崩溃不显示错误,我如何开始查找导致崩溃的原因?

Answers:


6

不可以,禁用“盖子关闭后悬挂”功能不会影响手动悬挂。

您将从查看的输出dmesg以及的内容/var/log/kern.log/var/log/syslog线索开始。

如果您与我们分享这些内容,我们会尽力提供帮助。请参阅此问题以了解如何:

如何轻松与他人共享命令或文本文件的输出?


17

我认为您提到的设置与之无关。

检查/var/log/pm-suspend.log并查看是否有任何提示。

这些问题通常是由于某些使系统停止挂起的过程引起的。

dmesg -T|grep Freez -A4

并查找以下条目:

--
[sun mar  3 15:19:48 2013] Freezing user space processes ... 
[sun mar  3 15:20:08 2013] Freezing of tasks failed after 20.01 seconds (3 tasks refusing to freeze, wq_busy=0):
[sun mar  3 15:20:08 2013] mount.nfs       D e8631aa0     0  5518   5517 0x00800004
[sun mar  3 15:20:08 2013]  e8631b10 00000086 f7bc0e00 e8631aa0 c1053cb4 c1809020 c192ee00 c192ee00
--

检查时间戳记,看哪些报告的问题与您尝试暂停有关。在这种情况下,正是mount.nfs引起问题的原因。

现在,将脚本放入中/etc/pm/sleep.d/,脚本将在暂挂和继续运行。文件名应以订购号开头(对于用户脚本,请为00-49)(有关更多详细信息,请参见man pm-suspend)。

该脚本可能看起来像这样

#!/bin/sh
(killall -9 mount.nfs; exit 0)

带有引起问题的其他进程的相应条目(如果有)。

用括号括起来exit 0是一个技巧:如果未找到该进程,killall则将退出,退出代码为1,这将取消整个挂起。上面的代码将killall在以0退出的子外壳中运行。

如果遇到问题,请检查/var/log/pm-suspend.log该日志是否记录了挂起和运行脚本的尝试。


我还需要另一行:(killall -9 mount.nfs;退出0),因为有时它仅不适用于SIGUP。
Juanin

@Juanin:-9更好,我不知道为什么我只有一开始才被-1编辑。
卡尔,

我想知道问题是在多少时间发生在实时网络安装中(如下所示)。那也是我的问题-但sshfs不是nfs
nobar

如果有多个任务拒绝冻结,则可能与以下错误有关:bugs.launchpad.net/ubuntu/+source/systemd/+bug/1676912
mhellmeier

这种方法在Ubuntu 18.04中也可以吗?
Ramesh-X
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.