-
Enhancement
-
Resolution: Unresolved
-
P4
-
None
Currently old gen regions groups are (apart from the collection set of the next GC after marking/rebuilding) set to G1OldCSetGroupSize (or so) regions.
This can be problematic for (typically) the last mixed gc in a reclamation phase, which may or may not exceed pause time a lot.
E.g. this gc+ergo+cset=trace output:
[167.196s][trace][gc,ergo,cset ] GC(78) Prediction for group with 5 regions, card_rs_length 150234, merge_scan_time 7.52ms, code_root_scan_time_ms 0.00ms, evac_time_ms 1.73ms, other_time 0.01ms, bytes_to_cop 11817832
[167.196s][trace][gc,ergo,cset ] GC(78) Prediction for group with 5 regions, card_rs_length 16408, merge_scan_time 0.82ms, code_root_scan_time_ms 0.00ms, evac_time_ms 3.27ms, other_time 0.01ms, bytes_to_cop 22329712
[167.196s][trace][gc,ergo,cset ] GC(78) Prediction for group with 5 regions, card_rs_length 15844, merge_scan_time 0.79ms, code_root_scan_time_ms 0.00ms, evac_time_ms 3.31ms, other_time 0.01ms, bytes_to_cop 22596696
[167.196s][trace][gc,ergo,cset ] GC(78) Prediction for group with 5 regions, card_rs_length 14298, merge_scan_time 0.72ms, code_root_scan_time_ms 0.00ms, evac_time_ms 3.55ms, other_time 0.01ms, bytes_to_cop 24186784
[167.196s][trace][gc,ergo,cset ] GC(78) Prediction for group with 5 regions, card_rs_length 16028, merge_scan_time 0.80ms, code_root_scan_time_ms 0.00ms, evac_time_ms 3.82ms, other_time 0.01ms, bytes_to_cop 26052632
[167.196s][trace][gc,ergo,cset ] GC(78) Prediction for group with 5 regions, card_rs_length 300401, merge_scan_time 15.04ms, code_root_scan_time_ms 0.00ms, evac_time_ms 1.15ms, other_time 0.01ms, bytes_to_cop 7873944
[167.196s][trace][gc,ergo,cset ] GC(78) Prediction for group with 5 regions, card_rs_length 299308, merge_scan_time 14.98ms, code_root_scan_time_ms 0.00ms, evac_time_ms 1.06ms, other_time 0.01ms, bytes_to_cop 7254192
[167.196s][trace][gc,ergo,cset ] GC(78) Prediction for group with 5 regions, card_rs_length 16839, merge_scan_time 0.84ms, code_root_scan_time_ms 0.00ms, evac_time_ms 4.18ms, other_time 0.01ms, bytes_to_cop 28501536
[167.196s][trace][gc,ergo,cset ] GC(78) Prediction for group with 5 regions, card_rs_length 18683, merge_scan_time 0.94ms, code_root_scan_time_ms 0.00ms, evac_time_ms 4.14ms, other_time 0.01ms, bytes_to_cop 28272600
[167.196s][trace][gc,ergo,cset ] GC(78) Prediction for group with 5 regions, card_rs_length 18914, merge_scan_time 0.95ms, code_root_scan_time_ms 0.00ms, evac_time_ms 4.20ms, other_time 0.01ms, bytes_to_cop 28647496
[167.196s][trace][gc,ergo,cset ] GC(78) Prediction for group with 5 regions, card_rs_length 18920, merge_scan_time 0.95ms, code_root_scan_time_ms 0.00ms, evac_time_ms 4.19ms, other_time 0.01ms, bytes_to_cop 28571816
[167.196s][trace][gc,ergo,cset ] GC(78) Prediction for group with 4 regions, card_rs_length 15062, merge_scan_time 0.75ms, code_root_scan_time_ms 0.00ms, evac_time_ms 3.37ms, other_time 0.01ms, bytes_to_cop 22960672
[167.196s][trace][gc,ergo,cset ] GC(78) Prediction for group with 5 regions, card_rs_length 304715, merge_scan_time 15.25ms, code_root_scan_time_ms 0.00ms, evac_time_ms 1.95ms, other_time 0.01ms, bytes_to_cop 13309120
[167.196s][trace][gc,ergo,cset ] GC(78) Prediction for group with 5 regions, card_rs_length 430199, merge_scan_time 21.54ms, code_root_scan_time_ms 0.00ms, evac_time_ms 1.20ms, other_time 0.01ms, bytes_to_cop 8175520
[167.196s][trace][gc,ergo,cset ] GC(78) Prediction for group with 5 regions, card_rs_length 436649, merge_scan_time 21.86ms, code_root_scan_time_ms 0.00ms, evac_time_ms 1.09ms, other_time 0.01ms, bytes_to_cop 7427424
[167.196s][trace][gc,ergo,cset ] GC(78) Prediction for group with 5 regions, card_rs_length 435752, merge_scan_time 21.81ms, code_root_scan_time_ms 0.00ms, evac_time_ms 1.61ms, other_time 0.01ms, bytes_to_cop 10960520
[167.196s][trace][gc,ergo,cset ] GC(78) Prediction for group with 5 regions, card_rs_length 446976, merge_scan_time 22.38ms, code_root_scan_time_ms 0.00ms, evac_time_ms 1.53ms, other_time 0.01ms, bytes_to_cop 10425784
[167.196s][trace][gc,ergo,cset ] GC(78) Prediction for group with 5 regions, card_rs_length 430687, merge_scan_time 21.56ms, code_root_scan_time_ms 0.00ms, evac_time_ms 1.99ms, other_time 0.01ms, bytes_to_cop 13559168
[167.196s][trace][gc,ergo,cset ] GC(78) Prediction for group with 5 regions, card_rs_length 580994, merge_scan_time 29.09ms, code_root_scan_time_ms 0.00ms, evac_time_ms 2.32ms, other_time 0.01ms, bytes_to_cop 15795744
[167.196s][trace][gc,ergo,cset ] GC(78) Prediction for group with 5 regions, card_rs_length 1019984, merge_scan_time 51.06ms, code_root_scan_time_ms 0.00ms, evac_time_ms 1.14ms, other_time 0.01ms, bytes_to_cop 7805056
[167.196s][trace][gc,ergo,cset ] GC(78) Prediction for group with 5 regions, card_rs_length 1296215, merge_scan_time 64.89ms, code_root_scan_time_ms 0.00ms, evac_time_ms 2.10ms, other_time 0.01ms, bytes_to_cop 14299928
[167.196s][trace][gc,ergo,cset ] GC(78) Prediction for group with 5 regions, card_rs_length 1578644, merge_scan_time 79.03ms, code_root_scan_time_ms 0.00ms, evac_time_ms 2.40ms, other_time 0.01ms, bytes_to_cop 16346728
[167.196s][trace][gc,ergo,cset ] GC(78) Prediction for group with 5 regions, card_rs_length 3729438, merge_scan_time 186.70ms, code_root_scan_time_ms 0.00ms, evac_time_ms 2.91ms, other_time 0.01ms, bytes_to_cop 19843904
The last few groups take a significant part of pause time to include.
Maybe it is reasonable to split up (or not even combine) groups that take a significant fraction of pause time goal/typical time available for old gen regions.
(e.g. 10%)
This can be problematic for (typically) the last mixed gc in a reclamation phase, which may or may not exceed pause time a lot.
E.g. this gc+ergo+cset=trace output:
[167.196s][trace][gc,ergo,cset ] GC(78) Prediction for group with 5 regions, card_rs_length 150234, merge_scan_time 7.52ms, code_root_scan_time_ms 0.00ms, evac_time_ms 1.73ms, other_time 0.01ms, bytes_to_cop 11817832
[167.196s][trace][gc,ergo,cset ] GC(78) Prediction for group with 5 regions, card_rs_length 16408, merge_scan_time 0.82ms, code_root_scan_time_ms 0.00ms, evac_time_ms 3.27ms, other_time 0.01ms, bytes_to_cop 22329712
[167.196s][trace][gc,ergo,cset ] GC(78) Prediction for group with 5 regions, card_rs_length 15844, merge_scan_time 0.79ms, code_root_scan_time_ms 0.00ms, evac_time_ms 3.31ms, other_time 0.01ms, bytes_to_cop 22596696
[167.196s][trace][gc,ergo,cset ] GC(78) Prediction for group with 5 regions, card_rs_length 14298, merge_scan_time 0.72ms, code_root_scan_time_ms 0.00ms, evac_time_ms 3.55ms, other_time 0.01ms, bytes_to_cop 24186784
[167.196s][trace][gc,ergo,cset ] GC(78) Prediction for group with 5 regions, card_rs_length 16028, merge_scan_time 0.80ms, code_root_scan_time_ms 0.00ms, evac_time_ms 3.82ms, other_time 0.01ms, bytes_to_cop 26052632
[167.196s][trace][gc,ergo,cset ] GC(78) Prediction for group with 5 regions, card_rs_length 300401, merge_scan_time 15.04ms, code_root_scan_time_ms 0.00ms, evac_time_ms 1.15ms, other_time 0.01ms, bytes_to_cop 7873944
[167.196s][trace][gc,ergo,cset ] GC(78) Prediction for group with 5 regions, card_rs_length 299308, merge_scan_time 14.98ms, code_root_scan_time_ms 0.00ms, evac_time_ms 1.06ms, other_time 0.01ms, bytes_to_cop 7254192
[167.196s][trace][gc,ergo,cset ] GC(78) Prediction for group with 5 regions, card_rs_length 16839, merge_scan_time 0.84ms, code_root_scan_time_ms 0.00ms, evac_time_ms 4.18ms, other_time 0.01ms, bytes_to_cop 28501536
[167.196s][trace][gc,ergo,cset ] GC(78) Prediction for group with 5 regions, card_rs_length 18683, merge_scan_time 0.94ms, code_root_scan_time_ms 0.00ms, evac_time_ms 4.14ms, other_time 0.01ms, bytes_to_cop 28272600
[167.196s][trace][gc,ergo,cset ] GC(78) Prediction for group with 5 regions, card_rs_length 18914, merge_scan_time 0.95ms, code_root_scan_time_ms 0.00ms, evac_time_ms 4.20ms, other_time 0.01ms, bytes_to_cop 28647496
[167.196s][trace][gc,ergo,cset ] GC(78) Prediction for group with 5 regions, card_rs_length 18920, merge_scan_time 0.95ms, code_root_scan_time_ms 0.00ms, evac_time_ms 4.19ms, other_time 0.01ms, bytes_to_cop 28571816
[167.196s][trace][gc,ergo,cset ] GC(78) Prediction for group with 4 regions, card_rs_length 15062, merge_scan_time 0.75ms, code_root_scan_time_ms 0.00ms, evac_time_ms 3.37ms, other_time 0.01ms, bytes_to_cop 22960672
[167.196s][trace][gc,ergo,cset ] GC(78) Prediction for group with 5 regions, card_rs_length 304715, merge_scan_time 15.25ms, code_root_scan_time_ms 0.00ms, evac_time_ms 1.95ms, other_time 0.01ms, bytes_to_cop 13309120
[167.196s][trace][gc,ergo,cset ] GC(78) Prediction for group with 5 regions, card_rs_length 430199, merge_scan_time 21.54ms, code_root_scan_time_ms 0.00ms, evac_time_ms 1.20ms, other_time 0.01ms, bytes_to_cop 8175520
[167.196s][trace][gc,ergo,cset ] GC(78) Prediction for group with 5 regions, card_rs_length 436649, merge_scan_time 21.86ms, code_root_scan_time_ms 0.00ms, evac_time_ms 1.09ms, other_time 0.01ms, bytes_to_cop 7427424
[167.196s][trace][gc,ergo,cset ] GC(78) Prediction for group with 5 regions, card_rs_length 435752, merge_scan_time 21.81ms, code_root_scan_time_ms 0.00ms, evac_time_ms 1.61ms, other_time 0.01ms, bytes_to_cop 10960520
[167.196s][trace][gc,ergo,cset ] GC(78) Prediction for group with 5 regions, card_rs_length 446976, merge_scan_time 22.38ms, code_root_scan_time_ms 0.00ms, evac_time_ms 1.53ms, other_time 0.01ms, bytes_to_cop 10425784
[167.196s][trace][gc,ergo,cset ] GC(78) Prediction for group with 5 regions, card_rs_length 430687, merge_scan_time 21.56ms, code_root_scan_time_ms 0.00ms, evac_time_ms 1.99ms, other_time 0.01ms, bytes_to_cop 13559168
[167.196s][trace][gc,ergo,cset ] GC(78) Prediction for group with 5 regions, card_rs_length 580994, merge_scan_time 29.09ms, code_root_scan_time_ms 0.00ms, evac_time_ms 2.32ms, other_time 0.01ms, bytes_to_cop 15795744
[167.196s][trace][gc,ergo,cset ] GC(78) Prediction for group with 5 regions, card_rs_length 1019984, merge_scan_time 51.06ms, code_root_scan_time_ms 0.00ms, evac_time_ms 1.14ms, other_time 0.01ms, bytes_to_cop 7805056
[167.196s][trace][gc,ergo,cset ] GC(78) Prediction for group with 5 regions, card_rs_length 1296215, merge_scan_time 64.89ms, code_root_scan_time_ms 0.00ms, evac_time_ms 2.10ms, other_time 0.01ms, bytes_to_cop 14299928
[167.196s][trace][gc,ergo,cset ] GC(78) Prediction for group with 5 regions, card_rs_length 1578644, merge_scan_time 79.03ms, code_root_scan_time_ms 0.00ms, evac_time_ms 2.40ms, other_time 0.01ms, bytes_to_cop 16346728
[167.196s][trace][gc,ergo,cset ] GC(78) Prediction for group with 5 regions, card_rs_length 3729438, merge_scan_time 186.70ms, code_root_scan_time_ms 0.00ms, evac_time_ms 2.91ms, other_time 0.01ms, bytes_to_cop 19843904
The last few groups take a significant part of pause time to include.
Maybe it is reasonable to split up (or not even combine) groups that take a significant fraction of pause time goal/typical time available for old gen regions.
(e.g. 10%)
- relates to
-
JDK-8351403 G1: Spiky pause times due to too large initial group selection
-
- Open
-
-
JDK-8343782 G1: Use one G1CardSet instance for multiple old gen regions
-
- Resolved
-