linux - 垃圾收集期间负载均衡器和 Tomcat 之间出现 SocketException

标签 linux garbage-collection java-6 tomcat7

我们注意到以下问题:每当我们的 Tomcat JVM 执行 Full GC 时,在 LB 和 Tomcat 之间创建连接的请求都会失败。这是非常有问题的,因为所有这些请求将永远没有机会到达应用程序服务器。

即使我们将一个 Tomcat 指向另一个 Tomcat 且中间没有任何 LB,也会出现此问题。

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

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

谢谢, 尤西

最佳答案

您是否考虑过使用“XX:+UseConcMarkSweepGC”选项来使用并发垃圾收集器?这本质上是在后台执行垃圾收集,这样就不会出现那么多(如果有的话)“停止世界”的完整 GC。

关于linux - 垃圾收集期间负载均衡器和 Tomcat 之间出现 SocketException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6346819/

相关文章:

c++ - 错误: "Undefined reference to ' main'"

Java - 检测垃圾收集器?

java - 如何让内部类继承封闭类的泛型类型?

java - 如何创建一个通用的 HashMap 来插入集合和对象?

字符串比较 - JDK 版本产生不同的结果

c - 如何在不修改程序的情况下通过fork启动一个进程的两个实例

mysql - 无法通过套接字 '/var/lib/mysql/mysql.sock' 连接到本地 MySQL 服务器 (2)

linux - 在 EC2 (Ubuntu) 上运行 bash 脚本时出现奇怪的 "Permission denied"异常

C# 垃圾收集器行为

c# - 内存条件中的文字意味着什么?