Linux 冻结-如何找出是硬件还是软件导致的?

Linux 冻结-如何找出是硬件还是软件导致的?

几周前,我的 Linux 服务器(kubuntu 10.04)开始出现问题。

它在正常运行一段时间后就会冻结,时间大概在几分钟到几小时之间 - GUI 没有响应,鼠标或键盘也没有反应(甚至重新订阅),top在 ssh 会话中停止更新,并且会话本身在超时后中止:

Read from remote host 10.1.1.9: Operation timed out
Connection to 10.1.1.9 closed.

当时,我认为是硬件问题,所以我开始更换越来越多的硬件 - 显卡、主板、CPU、RAM、硬盘、电源。现在我已经更换了整个机器,但它仍然冻结。

我检查了/var/log/messages一些其他日志 - 其中根本没有任何线索。考虑到所有硬件都已更换,硬件问题似乎不太可能发生,但仍然有可能。

我已将机器精简到最低限度。我从 USB 启动器启动了 kubuntu live 系统,以只读方式安装了几个硬盘,并开始在它们上比较文件夹的差异。这似乎可以可靠地产生冻结。到目前为止,我还没有超过几个小时的正常运行时间。

我的服务器瘫痪了,这种情况已经持续了好几个星期了。我已经山穷水尽,只好绝望了。

我如何才能可靠地确定这是硬件问题还是软件问题?您将如何处理这样的问题?

答案1

由于您已经更换了这么多硬件,我假设您已经确定您的问题不是关于温度问题。

如果您尝试使用完全不同的发行版而不是 Kubuntu 10.04,结果会怎样?下载其他实时发行版,例如 openSUSE 或甚至某些 BSD 版本,看看它们是否也重现了冻结问题。这样您就可以确定这不是 Kubuntu 10.04 中的某种错误。

您正在比较的目录树下有多少数据?更重要的是,只有几个大文件还是有大量的小文件?

更换硬盘时,您是如何将数据从旧硬盘复制到另一个硬盘的?dd_rescue 还是某些映像程序?只是普通方法cp?如果您使用某种映像程序或 dd_rescue,而原始文件系统以某种方式包含一些奇怪的损坏,那么差异处理是否会碰到损坏的区域并导致崩溃?这种情况很少见,但肯定是有可能的。就像闪电有可能击中您一样。

答案2

您需要获取崩溃转储并仔细查看。查看日志不会有帮助,因为在发生内核崩溃/错误时不会向日志写入任何内容。如果您有控制台访问权限,您可能会看到是否有崩溃消息。崩溃转储将包含内核环形缓冲区的内容(如果写入磁盘,您将在 dmesg 中看到的内容)。如果这没有帮助,您需要开始对转储进行全面分析

https://wiki.ubuntu.com/Kernel/CrashdumpRecipe?action=show&redirect=KernelTeam%2FCrashdumpRecipe

似乎是 ubuntu 的一个开始。谷歌搜索“redhat crash whitepaper”也会给你一些提示。

答案3

根据温度建议,尝试运行一些传感器监控软件,看看在冻结时它显示什么。

对于 KDE(因为您使用 Kubuntu:http://kde-look.org/content/show.php/Sensors-Monitor

相关内容