7.10.4 Notes on reducing the time required for automatic release processing
This subsection describes points to be considered when using the functionality for controlling object movement to the Explicit memory block and functionality for specifying classes to be excluded from the application of the Explicit Memory Management functionality, which are used for reducing the time required for automatic release processing.
-
In a case where objects in the Java heap are referenced from objects in Explicit memory blocks generated by the automatic placement functionality, the objects in the Java heap are moved to the Explicit heap when Full GC occurs. You can prevent objects from being moved by using the functionality for controlling object movement to Explicit memory blocks. In a system in which Full GC ordinarily occurs, however, enabling this functionality might increase the Full GC occurrence frequency. If frequent occurrence of Full GC becomes problematic for the system, retune the size of the memory space used by the Java VM. For details on memory tuning, see 7. JavaVM Memory Tuning in the uCosminexus Application Server System Design Guide.
-
The functionality for specifying classes to be excluded from the application of the Explicit Memory Management functionality does not let move objects of the classes specified in the configuration file, from among the objects of the Java heap referenced from objects in Explicit memory blocks, which are created by using automatic placement functionality, to Explicit heap. If you enable this functionality, because the objects that were moved to the Explicit heap move to Tenured area, the usage of Tenured area increases. As a result, the Full GC occurrence frequency might increase. If frequent occurrence of Full GC becomes problematic for the system, retune the size of the memory space used by the Java VM. For details on memory tuning, see 7. JavaVM Memory Tuning in the uCosminexus Application Server System Design Guide.
-
The functionality for specifying classes to be excluded from the application of the Explicit Memory Management functionality reads the configuration file when starting the J2EE server or the batch server. As a result, if you specify many classes in the configuration file, starting of the J2EE server or the batch server might take longer time. Compare the start time of the J2EE server or the batch server, and automatic release processing time, and review the use of this functionality.
-
The functionality for specifying classes to be excluded from the application of the Explicit Memory Management functionality determines whether a class is excluded from the application of the Explicit Memory Management functionality, when loading the class. As a result, if you specify many classes in a configuration file, class loading time might increase.
-
The functionality for specifying classes to be excluded from the application of the Explicit Memory Management functionality excludes objects of the classes specified in the configuration file from the target of the Explicit Memory Management functionality. Therefore, in this file, if you specify the class of objects that produce an effect when located in the Explicit heap, you might not gain the effect of suppressing occurrence of Full GC.
-
Because the functionality for specifying classes to be excluded from the application of the Explicit Memory Management functionality does not execute 7.6.5 Moving the objects from the Java heap to the Explicit memory block based on a reference relation, consider the objects as excluded from the application of the Explicit Memory Management functionality. As a result, if you specify direct generation of an object in an application, the object is generated in Explicit memory block even if you specify class of that object in the classes to be excluded from the application of the Explicit Memory Management functionality. For details on direct generation of objects in an application, see 7.6.3 Directly generating objects in the Explicit memory block.
If you specify the objects stored in an HTTP session in the classes to be excluded from the application of the Explicit Memory Management functionality, the objects are excluded from the application of the Explicit Memory Management functionality and they do not move to the Explicit memory block. For details on the objects stored in an HTTP session, see 7.4.1 Objects related to HTTP session.
-
While GC is suppressed in cases such as when the application is being debugged, Full GC and automatic release processing cannot be performed. The eheapprof command executed with the -freeratio option while GC is suppressed cannot obtain object release rate information. In this case, in the thread dump you obtained, only the statistical information for the objects in Explicit memory blocks has been output as the Explicit heap detailed information.