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

Early reclamation of large objects in G1

    XMLWordPrintable

Details

    • gc
    • b28

    Backports

      Description

        In G1 large objects are always allocated in the old generation, requiring a complete heap liveness analysis (full gc, marking) to reclaim them.

        This is far from ideal for many transaction based enterprise applications that create large objects that are only live until a (typically short-lived) transaction is not completed (e.g. in a ResultSet of a JDBC query that generates a large result).
        This results in the heap filling up relatively quickly, typically leading to unnecessary marking cycles just to reclaim them.

        Investigate options to reclaim these objects more quickly; options found so far are:
        a) logically keep LOBs in young gen, doing in-place aging
        b) keep LOBs in the old gen, but use the remembered set and information from young collection to determine LOB liveness

        Attachments

          Issue Links

            Activity

              People

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

                Dates

                  Created:
                  Updated:
                  Resolved: