RFR: 8373225: GenShen: More adaptive old-generation growth heuristics

Kelvin Nilsen kdnilsen at openjdk.org
Sun Dec 7 17:54:24 UTC 2025


When old-gen consumes a small percentage of heap size, trigger when old-gen expands by more than ShenandoahMinOldGenGrowthPercent, with default value 50%, from the live data in old at time of previous old-gen mark.

When old-gen consumes a larger percentage of heap size, we trigger when old-gen expands by more than  ShenandoahMinOldGenGrowthRemainingHeapPercent, with default value 25%, of the memory not live in old at the last marking of old.

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

Commit messages:
 - make old evac ratio adaptive
 - Merge remote-tracking branch 'jdk/master' into more-adaptive-old-triggers
 - change default value of ShenandoahMinOldGenGrowthRemainingHeapPercent
 - Merge remote-tracking branch 'jdk/master' into more-adaptive-old-triggers
 - Adjust test for new defaults
 - Merge remote-tracking branch 'jdk/master' into more-adaptive-old-triggers
 - Change secondary old trigger to be percent of young-gen heap size
 - add trigger for percent of heap growth

Changes: https://git.openjdk.org/jdk/pull/28561/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=28561&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8373225
  Stats: 92 lines in 9 files changed: 74 ins; 1 del; 17 mod
  Patch: https://git.openjdk.org/jdk/pull/28561.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/28561/head:pull/28561

PR: https://git.openjdk.org/jdk/pull/28561


More information about the shenandoah-dev mailing list