所以我们有Ubuntu 10.04运行 – 全部64位。 内核2.6.36和2.6.38-15有相同的问题。
问题是随机的VPS服务器挂起。 我们有这个特定的主机约30例。 它在日志中没有任何东西冻结 – 无论是在dmesg,kernel.log,syslog或任何地方。 loggingconfiguration正确。
然而,在这个崩溃期间,在控制台中有多个“任务挂起120秒”的错误。 系统显然不能在这次崩溃期间写入。 我们有两种types的服务器,Java webapp服务器和MySQL服务器。
这两种types都有错误“”任务flush-2 ** / java / kjournald被阻塞了超过120秒。“即使在没有安装Java应用程序的服务器上,它也会有”mysqld阻塞超过120秒“。每隔几天。
内存使用情况正常。 几乎没有使用交换。 但随机每隔几天,当负载峰值发生时,在8-10负载avg之间 – 一个随机的服务器/ vps实例只是冻结的错误。 负载testing达到100 avg(8核心上的800%)已经完成,I / O压力testing已经完成。 崩溃期间,IO等待时间是正常的。 我们似乎无法用压力testing来重现这个问题。
MySQL系统有8个内核(2 cpu) – Java应用程序服务器有2个核心系统 – 所有Intel Xeons。 他们也在不同的Xen父服务器显然。 互联网服务供应商说没有已知的硬件问题,而其他的“客人”正在做的很好。 他们也难倒。 有什么我可以做的,找出问题是什么? 没有核心转储,或系统在发生崩溃时可写入的内容。
我试图改变I / O调度器有一些进展。 默认情况下是一些服务器上的CFQ和截止date,我已经改变了调度程序到一定程度的成功noop,但服务器仍然崩溃。 fstab是“/ dev / xvda3 / ext3 errors = remount-ro 0 1”
服务器都是打补丁,防火墙,没有什么奇怪的日志。 Fsck已经完成了。 根据dmesg的Xen版本3.4。 我们正在使用XYMON进行监控,并在崩溃前,内存等似乎都正常。
另外我发现另外一个奇怪的是时钟设置与系统负载一致。
在一个graphics中,CPU负载平均值与更高的时钟偏移量 – ntpudate需要每5分钟运行一次。 这是正常的负载? 或者这可能是一个硬件问题?
无论如何,我可以找出是什么原因造成的?
TIA
你有什么样的监控设置(Zenoss,Icinga,Nagios)? 其中之一会给你很多的信息,特别是取决于他们如何configuration。 如果某个进程有内存泄漏或者正在逃跑,我不会感到惊讶。 你可以设置一些快速和肮脏的监控,这可能会给你一些信息:
# top -d 5 > /var/log/top.out
除了在控制台中看到的内核消息,还显示了以下错误:
BUG: soft lockup - CPU#2 stuck for XXXXXXXXXs! [process:XXXX]
如果是这样的话,请看http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=556030
最后一个注释提供了一种方法来启用更详细的日志logging,所以你将能够看到是什么造成的。 但是,这需要一些内核修改和重新编译。