Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8014078

G1: improve remembered set summary information by providing per region type information

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Fixed
    • Icon: P4 P4
    • hs25
    • hs25
    • hotspot
    • gc
    • b53

        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).

              tschatzl Thomas Schatzl
              tschatzl Thomas Schatzl
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: