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

Young gen length recalculation too aggressive

    XMLWordPrintable

Details

    • gc

    Description

      G1 has a feature to recalculate the young gen length according to changes in the remembered set concurrently to the mutator.

      For that recalculation it uses the costs for scanning the remembered sets (among other things), that multiplies the number of remembered set entries of (a sample of) the current young gen with the costs for scanning a card.

      The problem is that the costs for scanning a card are calculated with the costs of actually scanned cards, but the young gen sampling multiplies that by the sum of remembered set entries.

      If the sum of remembered set entries for the young gen is significantly different from the number of actually scanned cards, the "base cost" for that recalculation is highly inflated, and so the young gen size is decreased a lot, impacting performance significantly due to too small young gen (frequent gcs) in these types of applications.

      This is a day-one problem afaics, not seen before because it needs a certain type of application, where remembered set scan time is significant, and the amount of scanned card is significantly different from the number of cards in the remembered sets.

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: