Ubuntu 在我的机器上启动后的前约 15 分钟内似乎总是冻结。有时它在前 5 分钟内,有时需要 30 分钟,有时它永远不会发生......
我无法确定性地重现它,但无论如何它经常发生,我可能只是等待它再次发生。
如何诊断冻结以找出原因?
密切投票者注意:
不,这不是这个问题的重复。这个问题是关于诊断的,而不是暂时的恢复。该问题的答案仅告诉我如何杀死 X 服务器、使用 Magic Combo 重置内核等......这并不能帮助我找出原因。
Ubuntu 11.04:2.6.38-15-generic #66-Ubuntu SMP x86_64 GNU/Linux
鼠标有时会四处移动,但 UI从不响应。
按Ctrl+ Alt+F1进入一个终端不起作用。
在Alt+SysRq连击做工作......,似乎是唯一的事情,工作,除了鼠标(有时还可以左右移动)。
我没有耗尽任何资源(许多 GB 的 RAM 和文件系统空间都是免费的)
可能相关的硬件(来自 Hardware Lister 应用程序):
AR9285 无线网络适配器 (PCI-Express)
GT216 [GeForce GT 330M](我使用的是 Nouveau 驱动程序,似乎运行良好)
日志应该始终是您的第一个停靠点。检查系统日志是否有任何不适:
less /var/log/syslog
Run Code Online (Sandbox Code Playgroud)
还要检查 Xserver 日志,以防有任何图形驱动程序问题的迹象(尽管根据您的描述,这听起来不太可能):
less /var/log/Xorg.0.log
Run Code Online (Sandbox Code Playgroud)
在您的特定情况下,这些步骤可能不会引发任何有趣的事情。在这种情况下,我很想知道在问题出现时您的系统上发生了什么。为此,就个人而言,我会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
Run Code Online (Sandbox Code Playgroud)
这将top每 10 秒左右将输出写入~/top.log 处的日志文件。请注意,如果此命令长时间运行,则此日志会变得非常大,因此如果您的机器突然开始运行,请留意它!完成后删除日志rm ~/top.log。另请注意,执行上述命令是一次性的;重新启动后它不会自行重新启动。
要读取崩溃后生成的日志,您可以使用
less ~/top.log
Run Code Online (Sandbox Code Playgroud)
并按下End钥匙到达底部。您将寻找具有异常高 %CPU 值或异常高 RES 值的进程。
它可能有帮助,也可能没有帮助,但它是有用的信息。