Quebec/Java 11 MID Server uses a lot more CPU for Garbage Collection than Paris/Java 8 - JVM 11 default G1GC taking more average CPU utilization for cloud resources discovery than parallelGC


Description

Quebec/Java 11 MID Server uses a lot more CPU for Garbage Collection than Paris/Java 8 - JVM 11 default Garbage First Garbage Collector (G1GC) is taking more average CPU utilization for Discovery (most obviously with Cloud Resources discovery) than the Parallel Collector (parallelGC).

The Quebec MID Server upgrade includes an upgrade of the bundled Java 8 JDK to Java 11 JDK.  Java 8 JDK defaulted to Parallel Collector (parallelGC).  Java 11 JDK defaults to Garbage First Garbage Collector (G1GC), which is designed for enterprise level servers with >32GB large memory and heap size. MID Servers generally use <=8GB heap.

Steps to Reproduce

Actual behaviour:  Internal tests showed major differences in the comparison of jre11 G1GC and Jre 11 parallel GC.
Expected behaviour: There should be no major difference compared to the Paris release. Parallel GC should be the default out-of-box

Workaround

This problem has been fixed. If you are able to upgrade, review the Fixed In or Intended Fix Version fields to determine whether any versions have a planned or permanent fix.

The workaround in Quebec RTP and EA versions is to edit agent\conf\wrapper-override.conf in the mdi server installation folder, to add the following line:

wrapper.java.additional.105=-XX:+UseParallelGC

This problem and workaround may also be relevant to pre-Quebec customers who have already upgraded the JRE to Java 11.


Related Problem: PRB1462926