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

Allocation of Old generation of Java Heap on alternate memory devices.

XMLWordPrintable

    • Icon: CSR CSR
    • Resolution: Approved
    • Icon: P4 P4
    • 12
    • hotspot
    • None
    • gc
    • behavioral
    • minimal
    • Since this is a new opt-in command line flag, it does not introduce any compatibility risk.
    • add/remove/modify command line option

      Summary

      Add a new experimental flag -XX:AllocateOldGenAt to support allocation of old generation of Java heap on an alternate memory device.

      Problem

      Please refer to problem and motivation in the parent entry.

      Solution

      The new flag provides a way for user to specify the backing memory to be used for allocating memory space for old generation objects. Young generation objects are always allocated in dram. When a young generation object is tenured to old generation, typically, it is copied from one memory space in heap to another. When this flag is specified the destination is memory backed by the device on which the specified file resides. How the heap memory space is managed depends on the GC algorithm and support is provided for G1 GC and ParallelOld GC.

      1. This flag just changes where old generation of Java heap is allocated and does not affect behavior of Java application.
      2. If the path specified does not exist or in case of other errors, the Java VM exits with relevant error message.
      3. When this flag is not set, the behavior of Java VM is not affected.

      Specification

      experimental(ccstr, AllocateOldGenAt, NULL, "Path to the directoy where a temporary file will be created to use as the backing store for old generation")

            kkharbas Kishor Kharbas (Inactive)
            kkharbas Kishor Kharbas (Inactive)
            Sangheon Kim, Stefan Johansson
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: