JDK-8368993 : Parallel: JDK-8348278: Trim InitialRAMPercentage caused a performance regression in SPECjvm2008-SOR.small-ParGC
  • Type: Bug
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 26
  • Priority: P2
  • Status: Closed
  • Resolution: Other
  • Submitted: 2025-10-01
  • Updated: 2025-12-16
  • Resolved: 2025-12-16
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 26
26Resolved
Related Reports
Causes :  
Relates :  
Relates :  
Relates :  
Description
In SPECjvm2008-SOR small using Parallel GC we can observe a 36% regression on Linux aarch64. There seem to be a regression on about 1-2% for Linux x64 too but this is not statistically confirmed due to to a high variance.
Comments
I'm closing this after JDK-8373023 has been integrated, changing InitialRAMPercentage to 0. We will follow a similar (really the same regression but with new numbers) in JDK-8373712.
16-12-2025

The performance regression stems from a change to the initial heap size, which increases GC frequency. The higher GC frequency caused the observed regression. In all configurations, GC frequency remains low (below the permitted GC CPU percentage), so automatic heap resizing does not help -- this is an inherent footprint-versus-throughput trade-off. Two changes affect the initial heap size: JDK-8369346 and JDK-8369346. The machine has 1020G of RAM, and systems with large memory (>128G) are likely to experience the regression to varying degrees. Observed logs: - [0.009s][info][gc,init] Memory: 1020G Before JDK-8369346 (InitialRAMPercentage = 1.5): - [0.009s][info ][gc,init] Heap Initial Capacity: 2G After JDK-8369346 (InitialRAMPercentage = 0.2): - [0.009s][info][gc,init] Heap Initial Capacity: 288M After lifting MaxRam (post JDK-8369346): - [0.008s][info][gc,init] Heap Initial Capacity: 2112M After JDK-8369346, performance is roughly back to what was observed originally.
05-11-2025