Releasing unused memory
Aleksey Shipilev
shade at redhat.com
Thu Oct 18 10:26:56 UTC 2018
On 10/18/2018 12:19 PM, Per Liden wrote:
> Yes, this has the problem that is puts the GC in a mode where it strives to reach a back-to-back GC
> steady state, which probably isn't desirable. So deciding what a reasonable GC frequency is will be
> hard without user input. And one could argue that this user input _is_ Xmx, so don't bother doing
> some conservative heap growth thing.
Yup, that's what Shenandoah is doing: tell the active footprint it can have with -Xmx, and
optionally tune down ShenandoahUncommitDelay and ShenandoahGuaranteedGCInterval (or use "compact"
that does prepackaged settings for you) to tell how aggressively it should progress towards minimal
idle footprint. This seems much saner and straightforward; doing it more intelligently always ended
up in desperation when another workload goes belly-up with back-to-back GCs, while there is plenty
of memory. We can handwave a bit that it does not hurt as much with _concurrent_ back-to-back GCs,
but...
Over time, I convinced myself there is no way out, and I wish others learned from this too :)
-Aleksey
More information about the zgc-dev
mailing list