High termination times pre-concurrent cycle in G1
Thomas Schatzl
thomas.schatzl at oracle.com
Fri Sep 2 11:43:10 UTC 2016
Hi William,
maybe it is a bit too much to ask, but would it be possible for you
to build and run a self-compiled version of the JDK in some test
environment?
Yesterday a patch to fix these kinds of problems has been pushed to the
8u repos. It will only be available with 8u122 though (as far as I
know), which has a GA of January 2017. Otherwise early access builds
will probably be available as soon as October this year, after 8u112
shipped.
Unfortunately, really diagnosing some of the potential causes of this
issue also requires a custom build too, containing some otherwise
compiled-out code.
That change (JDK-8152438) is known to fix similar issues that you see.
It particularly helps if your object graph is relatively deep and
narrow with one or more largish arrays of java.lang.Object that contain
the only references to many objects.
One thing that could be tried is decreasing region size to 2M or even
1M (what we typically do not recommend). This may keep these objects
out of the young gen, and so they are accessed differently. This may
have other negative consequences on performance though.
However then scalability of the evacuation pause should be better.
Thanks,
Thomas
More information about the hotspot-gc-use
mailing list