Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 垃圾收集期间负载平衡器和Tomcat之间的SocketException_Linux_Garbage Collection_Jdk1.6_Tomcat7 - Fatal编程技术网

Linux 垃圾收集期间负载平衡器和Tomcat之间的SocketException

Linux 垃圾收集期间负载平衡器和Tomcat之间的SocketException,linux,garbage-collection,jdk1.6,tomcat7,Linux,Garbage Collection,Jdk1.6,Tomcat7,我们注意到以下问题:每当Tomcat JVM执行完全GC时,在LB和Tomcat之间创建连接的请求都会失败。这是一个很大的问题,因为所有这些请求永远不会有机会到达应用服务器 即使我们将一只雄猫指向另一只雄猫,但中间没有任何LB,这个问题也会发生 在JVM/Tomcat/Linux中是否有任何定义可以使HTTP连接等待时间,直到GC结束,并且应用程序JVM将接收请求 我们正在使用Java6、Tomcat7和Linux Ubuntu操作系统 谢谢, Yosi您是否考虑过使用“XX:+useConMa

我们注意到以下问题:每当Tomcat JVM执行完全GC时,在LB和Tomcat之间创建连接的请求都会失败。这是一个很大的问题,因为所有这些请求永远不会有机会到达应用服务器

即使我们将一只雄猫指向另一只雄猫,但中间没有任何LB,这个问题也会发生

在JVM/Tomcat/Linux中是否有任何定义可以使HTTP连接等待时间,直到GC结束,并且应用程序JVM将接收请求

我们正在使用Java6、Tomcat7和Linux Ubuntu操作系统

谢谢,
Yosi

您是否考虑过使用“XX:+useConMarkSweepGC”选项使用并发垃圾收集器?这实际上是在后台执行垃圾收集,这样就不会有那么多(如果有的话)“停止世界”的完整地面军事系统。

您可能需要启用中所述的并发垃圾收集


还可以尝试其他GC配置。

我已经尝试了这些选项,按钮行是完全GC可能会在某个点发生,我不想在暂停期间丢失尝试连接的客户端,这就是为什么我要在TCP级别的定义中寻找一些东西,尽管你永远不能保证完全GC不会发生,你可以在实践中预防它们。首先,确保tomcat的堆大小适当。其次,您可以使用以下选项触发启动后台集合的点:-XX:cmSinitiatingOccupencyFraction=。例如,值75将在堆达到75%容量时启动后台收集。您需要调整这两个设置,以确保XX:cmSinitiatingOccupencyFraction足够低,以便后台收集器在堆完全耗尽之前有时间运行(否则将导致完全GC)。XX:CMSinitiatingOccessyFraction还需要足够高,以便在卸载系统时不会永久触发后台收集器。
-XX:+UseConcMarkSweepGC