-XX:[+|-]HitachiExplicitMemoryMoveToTenuredFirst (Explicit release function option of Explicit Memory Management function)
- Organization of this page
Format
- -XX:+HitachiExplicitMemoryMoveToTenuredFirst
-
The objects in the release process of Explicit memory block are moved to the Tenured area.
- -XX:-HitachiExplicitMemoryMoveToTenuredFirst
-
The objects in the release process of Explicit memory block are moved to the New area.
Description
Specify the transition destination of the objects of the release process of Explicit memory block.
- Default value
-
-
-XX:+HitachiExplicitMemoryMoveToTenuredFirst
-
- Prerequisite options
-
-
-XX:HitachiUseExplicitMemory
-
Precautions
If this option is enabled, the reference object moves to the Tenured area when the release process is executed.
If the reference source object is a temporarily short-lived object, this option is disabled and the referenced object in the Explicit memory block is moved to the New area to enable concurrent collection with the reference source object during the next copy GC. This action prevents an increase in the used size of the Tenured area when this option is disabled.
You must note the following points:
-
Increasing copy GC frequency
If the Explicit memory block is released, the referenced object moves to the New area and the moved object uses the New area. As a result, the interval until the next copy GC might reduce causing throughput decrease and speed up in the ageing process of the object.
-
Among the objects moved to the Tenured area
If there is an object (For example, data definitions of common applications) referenced from objects of Explicit memory block repeatedly in New area and Explicit memory management area, then this is a long-lived object. If this option is enabled, the object is moved to the Explicit memory block, and when the release process of the Explicit memory block is executed, it moves to the Tenured area and continues to exist there for its rest of the life (such as application termination).
However, if this option is enabled, the object moves to the New area when executing the release process of the Explicit memory block, and here, if the copy GC is executed up to the threshold value, the object is moved to some other Explicit memory block. On repeating this process, the object is circulated between the New area and the Explicit memory management area, resulting in an increase in the overheads of the release process of the copy GC and the Explicit memory block.