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

Reconsider stopping adding old collection set regions when occupancy threshold is reached

XMLWordPrintable

    • gc

      In the default collector policy we stop adding old gen regions to the collection set when the waste threshold is reached.

      This can cause rather short mixed gcs that do not reclaim a lot, if anything. Since getting to a safepoint can take a considerable amount of time, this looks like a waste of throughput.

      Either lift this restriction, or size the young gen more appropriately to avoid wasting a lot of throughput.

      E.g.

      g1DefaultPolicy.cpp:351ff:
            if (reclaimable_perc <= threshold) {
              // We've added enough old regions that the amount of uncollected
              // reclaimable space is at or below the waste threshold. Stop
              // adding old regions to the CSet.
              log_debug(gc, ergo, cset)("Finish adding old regions to CSet (reclaimable percentage not over threshold). "
                                        "old %u regions, max %u regions, reclaimable: " SIZE_FORMAT "B (%1.2f%%) threshold: " UINTX_FORMAT "%%",
                                        old_region_length(), max_old_cset_length, reclaimable_bytes, reclaimable_perc, G1HeapWastePercent);
              break;
            }

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

              Created:
              Updated:
              Resolved: