The remembered set summary information provided by G1SummarizeRSetStats do not provide any breakdown on the remembered set usage per region type (young/old/LABs).
Further, the only point of time to get this information currently is at the end of the GC. The information at the end of gc has the drawback that at that time the information has already been compacted compared to before the gc, as gcs typically compact (particularly young gen) remembered sets significantly.
Track and add this information to the printouts. Add a method to choose the time to print the information at.
This improves the ability to detect memory related issues regarding the remembered set in G1.
Output before (after 8013895):
Cumulative RS summary
Concurrent RS processed 0 cards
Of 0 completed buffers:
0 ( 0.0%) by concurrent RS threads.
0 ( 0.0%) by mutator threads.
Concurrent RS threads times (s)
0.00
Concurrent sampling threads times (s)
0.00
Total heap region rem set sizes = 169K. Max = 2K.
Static structures = 7K, free_lists = 0K.
0 occupied cards represented.
Max size region = 0:(E)[0x00000000c2200000,0x00000000c2281808,0x00000000c2300000], size = 3K, occupied = 0K.
Did 0 coarsenings.
and after:
Cumulative RS summary
Concurrent RS processed 0 cards
Of 0 completed buffers:
0 ( 0.0%) by concurrent RS threads.
0 ( 0.0%) by mutator threads.
Concurrent RS threads times (s)
0.00
Concurrent sampling threads times (s)
0.00
Total heap region rem set sizes = 169K. Max = 2K.
5K ( 3.2%) by 2 Young regions
0K ( 0.0%) by 0 Humonguous regions
164K ( 96.8%) by 60 Free regions
0K ( 0.0%) by 0 Old regions
Static structures = 7K, free_lists = 0K.
0 occupied cards represented.
0 ( 0.0%) entries by 2 Young regions
0 ( 0.0%) entries by 0 Humonguous regions
0 ( 0.0%) entries by 60 Free regions
0 ( 0.0%) entries by 0 Old regions
Max size region = 0:(E)[0x00000000c2200000,0x00000000c2281808,0x00000000c2300000], size = 3K, occupied = 0K.
Did 0 coarsenings.
Note the breakdown of "Total heap region rem set" sizes and the number of "occupied cards represented" per region type (Young, Humonguous, Free, Old).