我有一个高容量的Java应用程序,可以处理50000msgs /秒的一致负载.它使用以下设置调整为高吞吐量:
-Xmx3g -Xms3g -XX:NewSize = 2g -Xss128k -XX:SurvivorRatio = 6 -XX:TargetSurvivorRatio = 90 -XX:+ UseParallelGC -XX:ParallelGCThreads = 12 -XX:+ UseParallelOldGC -XX:+ HeapDumpOnOutOfMemoryError
我发现尽管GC运行的频率保持不变,年轻的GC时间从一天结束时的50毫秒开始稳定上升到200毫秒.
如果我使用ParNewGC收集器尝试相同的运行,GC时间会以更快的速度上升.有没有人对这个问题有任何想法?