Big hiccups with ZGC
alex at bytopia.org
Thu Nov 8 13:33:37 UTC 2018
Hi, I mentioned this on Twitter, and you asked me to provide more details.
We've tried ZGC on a Java service where we regularly use G1. It starts
off very well, with maximum 1-2ms pauses. Then, 30-60 minutes after the
start, the JVM hiccups (measured with a variation of jHiccup) begin to
grow reaching a few seconds per pause, and so is the response time of
the service. However, the GC info that is reported as MBeans does not
reflect that. Sometimes, the CPU load average also increases, but that
is harder to reproduce.
The service runs in Docker on a c5.9xlarge AWS machine, with -Xmx50g.
I attach links to GC logs for three different app runs, in each run such
behavior was observed.
- https://ufile.io/xfp2o - ZGC on OpenJDK 11+28, downloaded from
download.java.net. Default options.
- https://ufile.io/dx1q8 - ZGC on
openjdk-shenandoah-jdk11-latest-linux-x86_64-release, downloaded from
builds.shipilev.net. Default options
- https://ufile.io/22458 - ZGC on same shenandoah build. 8 concurrent
threads, 16 parallel.
This is an example how our charts look like when it is happening:
Hope this helps.
More information about the zgc-dev