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

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

XMLWordPrintable

    • gc
    • 12
    • b13

        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.

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

                Created:
                Updated:
                Resolved: