有些东西偶尔会导致挂起崩溃。当它确实崩溃时,系统会冻结并显示黑屏并保持开启状态,而不是暂停。这使我必须按住电源按钮直到系统关闭。
我与大多数人的一个设置差异是,我不使用让您在笔记本电脑盖关闭时暂停的选项。所以打开和关闭笔记本电脑盖子没有任何动作。我喜欢手动按暂停。这种偏好的变化可能是原因吗?
我怎样才能开始寻找导致崩溃的原因,因为崩溃没有显示错误?
Car*_*arl 21
我不认为你提到的设置是相关的。
与挂起相关的错误消息通常可以在 中找到, /var/log/pm-suspend.log因此请查看那里。
这些问题通常是由于某些进程阻止系统挂起。
做
dmesg -T|grep Freez -A4
Run Code Online (Sandbox Code Playgroud)
并查找这些条目:
--
[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
--
Run Code Online (Sandbox Code Playgroud)
检查时间戳以查看报告的哪些问题与您尝试挂起有关。在这种情况下,它mount.nfs是导致问题的原因。
在挂起之前自动运行脚本并让脚本终止违规进程:
用户可以在/etc/pm/sleep.d/目录中提供脚本。这些脚本将由系统在挂起和恢复时运行。文件名应以订购号开头。00-49 用于用户脚本。有关详细信息,请参阅man pm-suspend。
脚本可能如下所示:
#!/bin/sh
(killall -9 mount.nfs; exit 0)
Run Code Online (Sandbox Code Playgroud)
...与导致问题的其他进程的相应条目,如果有的话。
括号exit 0是一个技巧:如果找不到进程,killall将退出并显示错误退出代码,这将取消整个挂起。括号将killall在子 shell 中运行0,无论退出代码如何,它都会以 exit codekillall退出。
如果您遇到问题,请检查,/var/log/pm-suspend.log因为它还会记录与在/etc/pm/sleep.d/.
不,禁用“关闭盖子时暂停”功能不会影响手动暂停。
您将首先查看 和 的输出dmesg和内容/var/log/kern.log并/var/log/syslog寻找线索。
如果您与我们分享这些,我们可以尝试提供帮助。请参阅此问题以了解如何:
| 归档时间: |
|
| 查看次数: |
14159 次 |
| 最近记录: |