FULL PRODUCT VERSION :
java version "9-ea"
Java(TM) SE Runtime Environment (build 9-ea+131)
Java HotSpot(TM) 64-Bit Server VM (build 9-ea+131, mixed mode)
FULL OS VERSION :
Linux 3.13.0-92-generic #139-Ubuntu SMP Tue Jun 28 20:42:26 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
A DESCRIPTION OF THE PROBLEM :
We have ran our application on JDK 9-ea+131 and generated workload similar to one we have on production. We have noticed unacceptably long mixed GC pauses - more than 3 seconds long. Actually all mixed GC pauses where much longer than we have on JDK 1.8.0_102 in exactly similar conditions.
We have used following flags with JDK 9:
-XX:+DisableExplicitGC -XX:+PerfDisableSharedMem -XX:+UnlockDiagnosticVMOptions -XX:+PrintSafepointStatistics -XX:+UseG1GC -XX:MaxGCPauseMillis=40 -Xms64g -Xmx64g
It was found that JDK-8136677 causes this since disabling Adaptive sizing for IHOP resolve the issue.
Attaching a part of debug GC log.
Reproducible on 9-ea+135
THE PROBLEM WAS REPRODUCIBLE WITH -Xint FLAG: Did not try
THE PROBLEM WAS REPRODUCIBLE WITH -server FLAG: Did not try
REGRESSION. Last worked in version 8u102
ERROR MESSAGES/STACK TRACES THAT OCCUR :
Part of debug GC log.
Long pauses can be found near 44320, 48900, 54470, 64900 seconds
This bug can be reproduced always.
CUSTOMER SUBMITTED WORKAROUND :
-XX:-G1UseAdaptiveIHOP brings results on par with JDK8