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

G1: Improve generation placement heuristics for regions that could not be evacuated

    XMLWordPrintable

Details

    • gc

    Description

      In order to reduce memory usage after G1 could not clean out a whole region during evacuation because of evacuation failure or pinning, keep regions that experienced an object that could not be moved in the same generation as useful.

      This could make it possible to reclaim the space in the next gc if this is in survivor.

      One heuristic could be aging the objects that stay in-place (if there are lots of failed objects): the age of the region is the maximum age of the objects inside.

      If there are just a few ones which is typically the case for regions with pinned objects it might be useful to always at least keep a remembered set regardless of generation to reclaim it in the next gc.

      The reason is that a) either the evacuation failure free up enough space anyway or b) pinned regions extremely often only contain a few objects.

      Another idea may be eagerly reclaiming these (mostly pinned) regions like humongous objects.

      Particularly young gen sizing will need to be adapted to take these regions better into account. They are typically very sparsely populated, which means that the region based heuristics will be off.

      Attachments

        Issue Links

          Activity

            People

              mli Hamlin Li
              tschatzl Thomas Schatzl
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated: