RFR: JEP draft: G1: Time-Based Heap Uncommit During Idle Periods
Monica Beckwith
Monica.Beckwith at microsoft.com
Tue Jul 1 01:26:04 UTC 2025
Hi all,
I would like to submit "G1: Time-Based Heap Uncommit During Idle Periods" JEP draft [0] for review.
The purpose of this JEP is to enable G1 to automatically uncommit unused memory regions during application idle periods, independent of garbage collection frequency. This brings G1 to parity with ZGC's memory efficiency characteristics while maintaining G1's low-latency and predictable pause time properties.
Key features:
- Periodic background evaluation of heap regions for uncommit eligibility
- Time-based region activity tracking with configurable uncommit delays
- Zero impact on GC pause times through careful synchronization
- Comprehensive JTReg test coverage with boundary conditions and race condition validation
The implementation is complete with extensive testing including 120+ SPECjbb2015 benchmark runs showing 15-45% memory reduction during idle periods with <2% throughput variation.
This enhancement addresses a significant gap in G1's memory efficiency for containerized and cloud-native applications with variable workload patterns. I will link the implementation PR to [0], once submitted.
Thanks,
Monica
[0] https://bugs.openjdk.org/browse/JDK-8360935
More information about the hotspot-gc-dev
mailing list