United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
JDK-8014078 : G1: improve remembered set summary information by providing per region type information

Details
Type:
Enhancement
Submit Date:
2013-05-07
Status:
Resolved
Updated Date:
2014-02-12
Project Name:
JDK
Resolved Date:
2013-09-26
Component:
hotspot
OS:
Sub-Component:
gc
CPU:
Priority:
P4
Resolution:
Fixed
Affected Versions:
hs25
Fixed Versions:
hs25 (b53)

Related Reports
Backport:
Backport:
Backport:
Backport:
Relates:

Sub Tasks

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
URL:   http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/c319b188c7b2
User:  amurillo
Date:  2013-10-05 03:45:31 +0000

                                     
2013-10-05
URL:   http://hg.openjdk.java.net/hsx/hotspot-gc/hotspot/rev/c319b188c7b2
User:  tschatzl
Date:  2013-09-26 19:29:43 +0000

                                     
2013-09-26
Errorneously closed this CR as fixed
                                     
2013-05-17



Hardware and Software, Engineered to Work Together