如何诊断随机冻结?

如何诊断随机冻结?

Ubuntu 在我的计算机上启动后,似乎总是在前 15 分钟内冻结。有时是在前 5 分钟,有时需要 30 分钟,偶尔永远不会发生...

我无法确定地重现它,但是它发生的频率足够高,所以我可能只是等待它再次发生。

我怎么能够诊断冻结以找出原因

关闭投票者请注意:
不,这是不是重复的问题。这个问题是关于诊断,而不是临时恢复。该问题的答案只告诉我如何终止 X 服务器、使用 Magic Combo 重置内核等……这并不能帮助我找出原因。

一些信息:

  1. Ubuntu 11.04:2.6.38-15-通用#66-Ubuntu SMP x86_64 GNU/Linux

  2. 鼠标有时移动,但用户界面绝不回应。

  3. Ctrl+ Alt+F1进入终端不起作用。

  4. Alt+组合SysRq工作……并且除了鼠标(有时也可以移动)之外,似乎是唯一可以工作的东西。

  5. 我没有耗尽任何资源(许多 GB 的 RAM 和文件系统空间都是免费的)

  6. 可能相关的硬件(来自 Hardware Lister 应用程序):

    • AR9285 无线网络适配器 (PCI-Express)

    • GT216 [GeForce GT 330M](我正在使用 Nouveau 驱动程序,它似乎运行良好)

答案1

日志应该始终是你的第一要务。检查系统日志是否有任何异常:

less /var/log/syslog

另外,请检查 Xserver 日志,看看是否有任何迹象表明存在图形驱动程序问题(尽管根据您的描述,这种可能性较小):

less /var/log/Xorg.0.log

在您的特定情况下,这些步骤可能不会带来任何有趣的结果。在这种情况下,我很想知道问题出现时您的系统上发生了什么。为此,我个人会设置一个临时日志,top每隔很短的时间间隔(例如每 5 秒或 10 秒)输出一次。这有望揭示在问题发生时某个进程是否在疯狂地消耗资源。

请注意,还有其他替代方案,例如使用Ctrl+Alt+F1..切换到另一个 tty F6(要返回 GUI,它是Ctrl+Alt+F7)并以交互方式运行命令,或者配置 SSH 服务器并远程登录。如果您的机器或多或少没有响应,这两种方法可能都很尴尬,因此我更尴尬的建议是编写一个日志文件(可以也会遇到同样的问题,但成功的可能性更大)。

它可能涉及如下内容:

while [ 1 -eq 1 ] ; do top -b >> ~/top.log; sleep 10; done

这会top每隔 10 秒左右将输出写入 ~/top.log 的日志文件。请注意,如果此命令长时间运行,此日志会变得非常大,因此如果您的机器突然开始出现问题,请密切关注它!并在rm ~/top.log完成后删除日志。还请注意,执行上述命令是一次性操作;重启后它不会自行重新启动。

要读取崩溃后生成的日志,您可以使用

less ~/top.log

然后按下End键以查看底部。您将查找具有异常高 %CPU 值或异常高 RES 值的进程。

它可能有帮助,也可能没有帮助,但它是有用的信息。

相关内容