I am using JDK 1.7.45 version in my application. Max heap size is capped to 4 GB. I am using CMS algorithm.
YoungGEN is more in my application compared to oldGen. I am getting application pauses around 10 seconds due to GC activity.
Current VM Opts:
server -d64 -verbose:gc -Xms4g -Xmx4g -XX:NewSize=2g -XX:MaxNewSize=2g
-XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:CMSInitiatingOccupancyFraction=60
-XX:TargetSurvivorRatio=90 -XX:+CMSScavengeBeforeRemark
-XX:+UseCMSInitiatingOccupancyOnly -XX:+CMSClassUnloadingEnabled
-XX:PermSize=64m -XX:MaxPermSize=256m -XX:ParallelGCThreads=23
-XX:+DisableExplicitGC -XX:+PrintGCDateStamps -XX:+DoEscapeAnalysis
-XX:LargePageSizeInBytes=2m -XX:+PrintTenuringDistribution
-XX:+PrintGCTimeStamps -XX:+PrintGCDetails
-XX:+PrintGCApplicationStoppedTime -XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=$PP_HOME -XX:+UseLargePages -XX:+UseCompressedOops
-XX:+AggressiveOpts"
GCLog:
[Full GC2015-12-02T06:37:14.442-0500: 177139.493: [CMS: 2263908K->308791K(4194304K),
4.6323730 secs] 2647235K->308791K(6081792K), [CMS Perm : 87315K->87296K(145380K)],
4.6346330 secs] [Times: user=4.51 sys=0.02, real=4.63 secs]
Total time for which application threads were stopped: 12.0121050 seconds