RFR: cli options for young/old ShenandoahMinFreeThreshold

Y. Srinivas Ramakrishna ysr at openjdk.org
Wed Jul 6 00:24:15 UTC 2022


On Tue, 5 Jul 2022 16:55:07 GMT, Joshua Cao <duke at openjdk.org> wrote:

> We currently can set only a single `ShenandoahMinFreeThreshold`, which will run a GC cycle if an allocation space fills up to a certain capacity. This PR allows us to specify separate thresholds for young and old generations.

Minor documentation suggestions. Otherwise looks good to me. Reviewed!

src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp line 122:

> 120:   product(uintx, ShenandoahOldMinFreeThreshold, 5, EXPERIMENTAL,            \
> 121:           "Percentage of free heap memory below which most heuristics "     \
> 122:           "old generation trigger collection independent of other   "       \

"Percentage of free old generation memory below which most heuristics will trigger its collection independent of other ..."

Similarly, I'd modify the documentation of "ShenandoahMinFreeThreshold" to state:
"Percentage of free heap memory (or young generation memory, in
 generational mode) below which most heuristics trigger its collection independent of ..."

ASIDE: I was thinking that these may be worth making "manageable" in the future, but I realize now that there is not precedent for that, e.g. in the case of InitiatingHeapOccupancyPercent. I do wonder why not though, since it can allow for some flexibility and external dynamic adaptation of the VM's settings.

-------------

Marked as reviewed by ysr (no project role).

PR: https://git.openjdk.org/shenandoah/pull/150


More information about the shenandoah-dev mailing list