Java 达到职业分数限制后持续执行CMS

Java 达到职业分数限制后持续执行CMS,java,garbage-collection,Java,Garbage Collection,对于我们的应用程序,我们正在为linux-amd64 JRE(1.8.0_66-b17)使用Java HotSpot(TM)64位服务器VM(25.66-b17)和以下JVM设置: -XX:+AlwaysPreTouch-XX:cmSinitiatingOccinecyFraction=75-XX:+ExplicitGCInvokesConcurrent-XX:InitialHeapSize=32212254720-XX:+ManagementServer-XX:MaxHeapSize=3222

对于我们的应用程序,我们正在为linux-amd64 JRE(1.8.0_66-b17)使用Java HotSpot(TM)64位服务器VM(25.66-b17)和以下JVM设置:

-XX:+AlwaysPreTouch-XX:cmSinitiatingOccinecyFraction=75-XX:+ExplicitGCInvokesConcurrent-XX:InitialHeapSize=32212254720-XX:+ManagementServer-XX:MaxHeapSize=3222254720-XX:MaxNewSize=4294967296-XX:OldPLABSize=16-XX:+PrintGCApplicationsCurrentTime-XX:MaxNewSize=4294967296-XX:+PrintGCApplicationsTopedTime-XX:+PrintGCDateStamps-XX:+PrintGCDetails-XX:+PrintGCTimeStamps-XX:+PrintHeapAtGC-XX:+PrintTenuringDistribution-XX:+UseCmSinitiatingOccupency-XX:+UseCompressedClassPointers-XX:+UseCompressedOops-XX:+UseConMarkSweepGC-XX:+UseParNewGC

我通过GCViewer注意到,在使用了75%的终身生成之后,“并发收集”执行几乎一直(每分钟)调用,而没有任何真正的清理

我希望如果CMS不能清理内存,那么将执行完整的gc。不幸的是,我在公共资源中找不到关于这种行为的信息。
您能帮助我更好地理解这个过程吗。

使用CMS collector,完整的GC通常会由“并发模式故障”触发,这意味着只要收集器能够赶上其垃圾,就没有必要呼叫“大家伙”。

您为什么期望这样?