/proc/sys/kernel/hung_task_timeout_secs 错误

/proc/sys/kernel/hung_task_timeout_secs 错误

我正在 Hyper-V 集群上构建 CentOS 6.2 Web 服务器,但遇到了一个重大问题。当前的设置是这样的:

操作系统:CentOS 6.2。最小服务器安装 安装的软件包括:

  • Hyper-V Linux 集成驱动程序
  • 网络敏
  • 阿帕奇2
  • MySQL 5.*
  • 带有 APC php 加速器的 php 5
  • 网络服务器正在运行 Moodle(如果提及它有任何区别的话)

我最后安装的是“Hyper-V Linux 集成驱动程序”之后...几天后,整个操作系统因控制台上的“任务阻塞超过 120 秒”错误而锁定。我现在发现这个错误在长时间的运行时间内会引起丑陋的后果,并且会在第二次下载后通过 yum update 命令标记来触发。

终端图片

我已经fsck按照其他论坛上的建议进行了尝试,但没有成功。大多数其他论坛都指出硬件问题是导致此处无法使用 Hyper-V 集群的原因(当前正在运行十几个高需求服务,没有任何问题)

编辑:(应该第一次提到这个)这个错误是我在整个内核锁定之前看到的最后一件事。此后修复它的唯一方法是硬重新启动虚拟机。

非常感谢任何解决或诊断问题的帮助。

先感谢您)

更新1:

好的,这里严重升级。我现在同一集群的另外 2 台 Linux 机器也出现了相关问题,并且它们都同时崩溃了。我有一台 Ubuntu 服务器抱怨状态:{DRDY},第二台 CentOS 6.2 服务器抱怨与第一台服务器相同的错误,并且第一台服务器以新的方式崩溃了......

Ubuntu DRDY 错误 Ubuntu DRDY 错误

第一次 CentOS 内核崩溃 CentOS 内核崩溃

更新2: 好的,我们修复了集群,但两个 CentOS 虚拟机的问题仍然存在。我已经解决了 centOS 的第一个问题,将其移至非集群的 Hyper-V 并将所有 Linux 集成驱动程序列入黑名单,然后完全卸载它们。看来是客户计算机的 Linux 集成驱动程序以及集群系统的问题导致了此问题。第二台 CentOS 机器就没那么幸运了...尽管我已将其移至非集群 Hyper-V 并将驱动程序列入黑名单,但不幸的是,它仍然在卸载 Linux 集成驱动程序的过程中崩溃了。现在我遇到了一个非常大的问题,驱动程序包显示在 rpm 数据库中,但只显示一半。

问题:有没有一种方法可以在不使用 rpm 或 yum 的情况下完全删除这些驱动程序,因为现在两者都抱怨它在那里,但又不在那里,无法删除它,并且尝试执行任何占用磁盘空间太大的操作(例如使用 rpm 和 yum),导致整个系统再次崩溃。按照这个速度,我最终可能会完全重建它,但我需要它在托管关键服务时尽快稳定下来。

答案

好的,我最后一个麻烦的 CentOS 虚拟机现在已经修复了。为了删除损坏的 Linux 集成驱动程序并稳定系统,我执行了以下操作:

  1. 我下载了 CentOS Live CD 并在有故障的虚拟机中启动它。
  2. 然后我创建了一个新文件夹

    $mkdir /mnt/OS
    
  3. 然后安装有故障的操作系统的根文件系统(在我的例子中是 sda2)

    $mount /dev/sda2 /mnt/OS
    
  4. 然后我安装启动分区(在我的例子中是 sda1)

    $mount /dev/sda1 /mnt/OS/boot
    
  5. 然后我 chroot 到故障操作系统

    $chroot /mnt/OS
    
  6. 然后运行 ​​rpm remove package 命令(确保在此过程中删除所有重复项)

    $rpm -e --allmatches kmod-microsoft-hyper-v
    
  7. 这个过程可能需要一些时间,但完成后我可以重新启动虚拟机,并且我的系统在没有集成驱动程序的情况下启动并运行,但它现在允许包更新而不会崩溃。

在此之后,我想我将把 Hyper-V 驱动程序排除在外,直到我确信它们可以工作并且稳定为止。

答案1

您的内核已启用此任务块检测功能。在大多数情况下,这应该没问题,因为它不是真正的块。您只需使用上面建议的命令即可禁用此功能。

我以前遇到过类似的问题。在内核中,如果您使用 down(semaphore) 而不是 down_interruptable(semaphore) 来等待信号量,并且该信号量在 120 秒内没有启动。它将打印该信息。其实信号量在120秒内没有释放是可以的。

如果除了这个 INFO 之外一切正常,只需通过 echo 0 禁用它即可。

相关内容