RFR: 8373023: [REDO] Remove the default value of InitialRAMPercentage [v2]

Joel Sikström jsikstro at openjdk.org
Wed Dec 3 16:33:00 UTC 2025


> Hello,
> 
> We backed out this change in https://github.com/openjdk/jdk/pull/28617 after issues in found in testing. Moving forward, we've decided to problem list a few tests that assumes that a GC does not run during their execution. When the initial heap size becomes very low with this change, it may trigger additional GCs, which may interfere with a few tests.
> 
> We are planning to follow up on the problem lists with test fixes in:
> https://github.com/openjdk/jdk/pull/28638, https://github.com/openjdk/jdk/pull/28637
> 
> From the original RFE: 
> 
> This RFE changes the default of `InitialRAMPercentage` to 0, effectively removing its default value. Please see the CSR for specific details on this change.
> 
> Changing the default value to 0 results in the behavior that the initial heap size (InitialHeapSize) is set to the minimum heap size (MinHeapSize). This is because of the following lines in `Arguments::set_heap_size()`, which takes the MAX value of MinHeapSize as well:
> 
> uint64_t initial_memory = (uint64_t)(((double)MaxRAM * InitialRAMPercentage) / 100);
> ...
> 
> reasonable_initial = MAX3(reasonable_initial, reasonable_minimum, MinHeapSize);
> reasonable_initial = MIN2(reasonable_initial, MaxHeapSize);
> 
> 
> This change improves startup performance for all GCs, but affects the time-to-peak performance in some out-of-the-box configurations for some GCs. This is mainly visible in ParallelGC.
> 
> Testing:
> * Oracle's tier1-3

Joel Sikström has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains two commits:

 - Remove unnecessary line
 - 8373023: [REDO] Remove the default value of InitialRAMPercentage

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

Changes: https://git.openjdk.org/jdk/pull/28641/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=28641&range=01
  Stats: 15 lines in 5 files changed: 11 ins; 1 del; 3 mod
  Patch: https://git.openjdk.org/jdk/pull/28641.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/28641/head:pull/28641

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


More information about the hotspot-dev mailing list