VPS上的Ubuntu变得没有响应:BUG:软locking – CPU#0卡住了22秒

我们有一个在Xen上运行Ubuntu的VPS。 问题在于,一天一次,大约20-50分钟,随机时间,服务器变得完全没有响应的外部世界。 在这段时间之后,它再次变得响应,好像什么也没有发生,它不会失去正常运行时间,它不会重新启动。 它只是开始响应,就好像它已经在假死。

这些中断发生在非例外的内存和CPU的情况下,例如70%的内存,5%的CPU。 我已经停止了所有非必要的服务,所以使用非常平均。 这些中断不会特别发生在增加内存/ CPU(在日常任务期间)的时候,它们有时在非常低的CPU使用时间(<2%)时发生,但过去也在交换期间发生。

这些停电已经发生在Ubuntu 12.04 LTS和Ubuntu 14.04 LTS下 – 根本没有任何改变(我专门升级了Ubuntu,看看它是否帮助了这个问题)。

可以login我们的网站主机网站,并使用他们的pipe理控制台来查看这段时间内的错误信息。 据推测,这些消息来自Xen虚拟化,主要信息是这样的:

BUG: soft lockp - CPU#0 stuck for 22s! [ksoftireqd/0:3] (repeats many times) SysRq : Emergency Sync (Sometimes this is the only message in the console) 

以前在不同负载情况下看到的其他人包括

 BUG: soft lockup - CPU#0 stuck for 22s! [swapper/0:0] 

(重复多次)或者:

 INFO: rcu_sched detected stall on CPU 0 (t=15000 jiffies) 

(重复多次,变大)

从谷歌search我已经尝试过各种内核参数,如nohz = off和acpi = off无济于事。 所有技术支持人员都表示,其他Ubuntu安装不会遭受同样的问题。

任何人有任何想法或经验与这个问题?

那么我无法find任何解决这个问题,无论我尝试。 最后,我用Debian 7.0取代了Ubuntu,问题消失了,还有一些exception的CPU使用情况没有出现在VPS的监视面板上(这种CPU使用率performance为逐渐增加, 3天达到10%,然后回落到0%,导致CPU使用率graphics出现“锯齿”模式)。 我没有尝试重新安装Ubuntu(尽pipe我尝试升级到14.04),因此我不能确定用DebianreplaceUbuntu就是解决scheme。 尽pipe如此,Debian的声誉如同人们所期待的那样稳定,但令人遗憾的是,对于Ubuntu来说,它的声誉也是如此。 我喜欢Ubuntu,而且我非常喜欢Unity,但是看起来Ubuntu在硬件上并不稳定。

我已经回答了我自己的问题,因为1)我确实find了解决scheme,2)我找不到其他地方的解决scheme(CentOS的情况除外,将CentOS 6降级为CentOS 5),所以如果可能不受欢迎给别人带来这个问题。 我知道我不会对解决scheme感到满意:用DebianreplaceUbuntu! 但最终,这是我做了什么来解决这个问题。 顺便说一下,我决定在Debian上,因为我发现没有Debian的这个问题的报告,而我发现Ubuntu和CentOS的这个问题的报告。

希望这有助于任何人在未来看到这个问题。

我们在类似的环境中遇到过这个问题:

  • Ubuntu 14.04 3.13.0内核
  • QEMU KVM环境

我们的Splunk集群主pipe平均每五分钟发出一次这些警告。 CPU的负载会经常上升到35%,警告会列出splunkd或python作为最有可能导致locking的进程。

经过多次拔毛和咬牙切齿之后,我们绝望地将Virt-Manager中的磁盘总线设置从'virtio'改为'SATA'。

问题消失了。

目前我们还在监控系统,但自从发生变化(至今已有半个小时)以来,并没有再发出警告,CPU负载稳定在2%左右。

我知道打破香槟和烟花还为时过早,但我们充满希望。