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

G1: Heap resizing at Remark does not take existing eden regions into account

    XMLWordPrintable

Details

    • gc
    • 12
    • b13

    Backports

      Description

        During the Remark pause we use the full gc heap resizing policy.

        One important metric is the amount of free space/regions at that point; it is calculated as

          const size_t used_after_gc = capacity_after_gc - _g1h->unused_committed_regions_in_bytes();

        The problem with that formula is that at the point when the Remark pause occurs, Eden is not empty compared to full gc.

        So the result of this calculation is very dependent on the point in time the Remark pause occurs, and so is the result whether g1 expands the heap or not. The suggestion is to incorporate current eden size as well.

        Introduced in JDK-6490394.

        This can cause lots of unnecessary heap expansions and heap usage.

        Attachments

          Issue Links

            Activity

              People

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

                Dates

                  Created:
                  Updated:
                  Resolved: