some resources mention (recommend) the use of -Xgc option stdGlobalCompactToSatisfyAllocate if the gencon garbage collector policy is in use.
I tried to find any documentation describing the effect of this option, however couldn't find any at all.
Could please someone from the development team provide a description of what this option does 9e.g. what's the default GC behaviour without it and what's the GC behaviour with it)?
Note: Thanks to opensourcing the J9 I was able to find something in the sources.
- Here the stdGlobalCompactToSatisfyAllocate option is being parsed https://github.com/eclipse/openj9/blob/master/runtime/gc_modron_startup/mmparseXgc.cpp#L804
- Here is some brief description which seems to errorneously mention -Xgc:compactToSatisfyAllocate instead of -Xgc:stdGlobalCompactToSatisfyAllocate https://github.com/eclipse/omr/blob/master/gc/base/standard/ParallelGlobalGC.hpp#L120
- And here it seems to be used https://github.com/eclipse/omr/blob/master/gc/base/standard/ParallelGlobalGC.cpp#L632
I think based on that I partly understand what it does, however I'm not completely sure.
What I'm trying to achieve is reduction of the GC compactions "compact on aggressive collection" which sometimes occur (about once a day) and take a really long time (about 30s). On a quick glance it seems it may have some effect here.