JDK-8014078 : G1: improve remembered set summary information by providing per region type information
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: hs25
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2013-05-07
  • Updated: 2014-02-12
  • Resolved: 2013-09-26
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 7 JDK 8 Other
7u60Fixed 8Fixed hs25Fixed
Related Reports
Relates :  
Description
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).

Comments
Errorneously closed this CR as fixed
17-05-2013