CMSInitiatingOccupancyFraction not having any effect on GC trigger

CMSInitiatingOccupancyFraction=75 flag does not seem to have any effect on GC. The GC starts at about 85-95 % old gen usage and makes the cluster status as yellow. I am using 1.7 version with java 8. Any idea what might trigger it? Below are the flags:

/bin/java -Xms30g -Xmx30g -Djava.awt.headless=true -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError -XX:+DisableExplicitGC -Dfile.encoding=UTF-8 -XX:+CMSClassUnloadingEnabled -XX:-AssumeMP


please see Oracle's GC tuning guide and the JVM options documentation for Java 8 for details about these flags. I suggest that you enable garbage collection logs and inspect them to analyze GC behavior. You can start by adding the following flags:

-XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintTenuringDistribution -XX:+PrintGCApplicationStoppedTime -Xloggc:/path/to/your/gc/log/file/here/gc.log -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=32 -XX:GCLogFileSize=64m

(these are derived from our default GC log configuration in newer versions of Elasticsearch).


This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.