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

Young and Old gen PLAB stats are similar in output with -XX:+PrintPLAB

    Details

    • Type: Enhancement
    • Status: Resolved
    • Priority: P4
    • Resolution: Fixed
    • Affects Version/s: 9
    • Fix Version/s: 9
    • Component/s: hotspot
    • Labels:
    • Subcomponent:
      gc
    • Resolved In Build:
      b110

      Description

      We have -XX:+PrintPLAB flag which is allow to get plab allocation statistics.

      Output looks like (used -XX:+PrintGC -XX:+PrintPLAB options):

      #2: [GC pause (G1 Evacuation Pause) (young) (allocated = 519344 wasted = 4486 unused = 0 used = 514858 undo_waste = 0 region_end_waste = 0 regions filled = 2 direct_allocated = 4944 failure_used = 0 failure_waste = 0) (plab_sz = 102971 desired_plab_sz = 65536)
       (allocated = 3305338 wasted = 25813 unused = 806 used = 3278719 undo_waste = 0 region_end_waste = 0 regions filled = 8 direct_allocated = 66 failure_used = 0 failure_waste = 0) (plab_sz = 655743 desired_plab_sz = 65536)
       53M->53M(376M), 0,1360649 secs]
      #3: [GC pause (G1 Evacuation Pause) (young) (allocated = 262144 wasted = 224 unused = 0 used = 261920 undo_waste = 0 region_end_waste = 0 regions filled = 3 direct_allocated = 0 failure_used = 0 failure_waste = 0) (plab_sz = 52384 desired_plab_sz = 60993)
       (allocated = 939085 wasted = 446 unused = 28700 used = 909939 undo_waste = 0 region_end_waste = 0 regions filled = 16 direct_allocated = 3123 failure_used = 0 failure_waste = 0) (plab_sz = 181987 desired_plab_sz = 65536)
       79M->79M(599M), 0,1408361 secs]

      Each GC event has young and old PLAB statistics.

      In case if we use only -XX:+PrintPLAB, output looks like:

       (allocated = 258154 wasted = 2187 unused = 0 used = 255967 undo_waste = 0 region_end_waste = 0 regions filled = 7 direct_allocated = 3990 failure_used = 0 failure_waste = 0) (plab_sz = 51193 desired_plab_sz = 38394)
       (allocated = 1058480 wasted = 8538 unused = 905 used = 1049037 undo_waste = 0 region_end_waste = 0 regions filled = 43 direct_allocated = 9962 failure_used = 0 failure_waste = 0) (plab_sz = 209807 desired_plab_sz = 65536)
       (allocated = 912780 wasted = 7571 unused = 0 used = 905209 undo_waste = 0 region_end_waste = 0 regions filled = 2 direct_allocated = 4724 failure_used = 0 failure_waste = 0) (plab_sz = 181041 desired_plab_sz = 65536)
       (allocated = 5554141 wasted = 43337 unused = 1083 used = 5509721 undo_waste = 0 region_end_waste = 0 regions filled = 11 direct_allocated = 123 failure_used = 0 failure_waste = 0) (plab_sz = 1101944 desired_plab_sz = 65536)

      There young and old stats are interleaved.

      It would be good to point which PLAB statistics is printed - for young or for old gen.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                tschatzl Thomas Schatzl
                Reporter:
                mchernov Michail Chernov
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: