问题描述
||
我们注意到以下问题:每当我们的Tomcat JVM执行完整的GC时,在Tomcat的LB代理之间创建连接的请求就会失败。这是非常有问题的,因为所有这些请求将永远不会有机会到达应用程序服务器。
即使我们将一个Tomcat指向另一个而又没有LB的情况下,也会发生此问题。
在JVM / Tomcat / Linux中是否可以进行任何定义,这些定义将使HTTP连接等待一段时间,直到GC结束并且应用程序JVM将收到请求。
我们正在使用Java6,Tomcat7和Linux Ubuntu OS。
谢谢,
优西
解决方法
您是否考虑过通过\'XX:+ UseConcMarkSweepGC \'选项使用并发垃圾收集器?这实际上是在后台执行垃圾回收,因此“停止世界运行”的完整GC的数量几乎没有(如果有的话)。
, 您可能需要启用并发垃圾回收,如http://www.oracle.com/technetwork/java/gc-tuning-5-138395.html中所述
-XX:+UseConcMarkSweepGC
也可以尝试其他GC配置。