在EC2上进行Jetty烟雾测试后,Java VM变得没有响应

时间:2011-08-31 15:40:32

标签: java jvm amazon-ec2 jetty

我们正在对我们的EC2系统进行一些冒烟测试,偶尔VM会完全没有响应,而它会使100核心旋转1个核心,此时所有其他核心都处于0%。它不允许进一步连接(RMI,JMX,对Jetty的HTTP请求,都失败)。

信息:

  • 高CPU超大型实例(实例类型c1.xlarge)
  • Java(TM)SE运行时环境(版本1.6.0_22-b04)
  • Java HotSpot(TM)64位服务器VM(版本17.1-b03,混合模式)

有没有人经历过这样的事情?任何信息都将非常感谢,谢谢!

2 个答案:

答案 0 :(得分:2)

我们发现了这个问题。我们注意到我们集群中的某些实例总是产生问题而有些实例从未产生过。显然,这个问题对于运行更新的CPU版本以及稍微过时的内核的实例来说是独一无二的。

此问题已在此完整解释:https://bugs.launchpad.net/ubuntu/+source/linux/+bug/727459

随着运行时间的增加,下图中显示的尖峰变得越来越长,可能由于时移而在某些时候它会旋转一个核心很长一段时间。

Cpu使用情况图。受影响的实例与未受影响的实例:

Cpu usage graphs. Affected instance versus unaffected

最近已修复此问题,因此内核更新为我们解决了此问题。

答案 1 :(得分:0)

我之前使用Jetty遇到过这个问题(尽管可以在任何Java进程中获得相同的经验),并且当你没有为JVM提供足够的内存时会发生这种情况:所有资源实际上都被垃圾收集器使用它遍历对象图以回收未引用的对象。我等了很久(在我的情况下有时需要几分钟),你应该看到JVM在OutOfMemoryException上崩溃。