这几天遇到了一个奇怪的问题,我们在tomcat上的一些solr应用在大量连接的情况下经常超时。
几天前,我们添加了 gc arg -XX:+ExplicitGCInvokesConcurrent,因此我们尝试删除此 arg,连接数下降,超时时间也下降。
但是我们一些带有这个gc arg的应用程序没有遇到这个问题,生病的应用程序和健康的应用程序之间的区别是jdk版本。 sick apps的jdk版本是1.6.0_21,heathy apps是1.6.0_26。
更改jdk版本也能解决问题。
谁能看出这是旧版本jdk的bug,还是gc args的bug?
最佳答案
是的,-XX:+ExplicitGCInvokesConcurrent
的使用似乎对较旧的 JDK 有问题。你可以看看this bug ,自 6u22 以来已解决(有趣的是你说 6u21 失败而 6u26 有效)。
关于tomcat - GC 参数 -XX :+ExplicitGCInvokesConcurrent cause tomcat timeout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11101048/