-
Sub-task
-
Resolution: Delivered
-
P4
-
13
-
Verified
This enhancement changes the ergonomics for sizing the lowest level (most quickly to access, but taking most space per element) remembered set memory storage in G1 called Sparse PRTs.
The number of entries now grow exponentially with region size instead of linearly. This means that G1 uses 4/8/16/32/64/128 entries per Sparse PRT if configured for 1/2/4/8/16/32 MB regions respectively instead of 4/8/12/16/20/24 entries.
With this change, G1 uses significantly less memory for remembered sets for applications requiring a significant amount of remembered sets. This may also result in decreased garbage collection pause times in these cases.
The ergonomically determined values may be overridden using the `-XX:G1RSetSparseRegionEntries` option as before.
The number of entries now grow exponentially with region size instead of linearly. This means that G1 uses 4/8/16/32/64/128 entries per Sparse PRT if configured for 1/2/4/8/16/32 MB regions respectively instead of 4/8/12/16/20/24 entries.
With this change, G1 uses significantly less memory for remembered sets for applications requiring a significant amount of remembered sets. This may also result in decreased garbage collection pause times in these cases.
The ergonomically determined values may be overridden using the `-XX:G1RSetSparseRegionEntries` option as before.