uCosminexus Application Server, Maintenance and Migration Guide
This subsection describes the notes for executing the unused objects statistical functionality in the Tenured area.
If you execute the unused objects statistical functionality in the Tenured area immediately after a full garbage collection, the statistical processing is executed when the unused objects in the Tenured area for which the statistics are to be collected have been recovered. Therefore, the total instance size within the class-wise statistical information and the number of instances becomes less, and the unused objects cannot be identified effectively. To effectively identify the unused objects, execute the unused objects statistical functionality in the Tenured area. A separate description is provided for executing the unused objects statistical functionality in the Tenured area; when the timing of occurrence of a full garbage collection is known and when the timing is not known.
If you execute the unused objects statistical functionality in the Tenured area immediately before a full garbage collection, the statistical processing is executed when the number of unused objects in the Tenured area for which the statistics are to be collected is large. Therefore, the total instance size within the class-wise statistical information and the number of instances becomes large, and the unused objects can be identified effectively.
To increase the total instance size within the class-wise statistical information, the number of instances, and effectively identify the unused objects:
The following is an example of reference relationship showing the notes on statistical results.
Figure 9-12 Example of reference relationship (Notes on statistical results)
In this figure, when you assume a1 as the lowest address, the statistical processing is executed with the reference relationship a1 b1
c1 in which a1 is the base object. At this point, if you assume b1 or c1 as the base object, expected results will not be output to the statistical results of the unused objects statistical functionality in the Tenured area and the base object list output functionality for Tenured augmentation factors.
The following figure shows the objects for which the statistics are not to be collected for a case in which the objects (a1 and c1) of the Tenured area have a reference relationship with the object (b1) of other than the Tenured area.
Figure 9-13 Example of reference relationship (Objects for which the statistics are not to be collected)
In this figure, the statistics are not collected for the object (b1) that belongs to other than the Tenured area. However, the size of the referenced object (c1) of the Tenured area is added to the total instance size of the class B.
The following figure shows a reference relationship from multiple objects for a case having a reference relationship in which one object (b1) is referenced from multiple reference sources (c1 and d1).
Figure 9-14 Example of reference relationship (For a reference relationship from multiple objects)
In this figure, if you execute the unused objects statistical functionality in the Tenured area, the statistical processing is executed from the base object having the lowest address among the base objects (c1 and a1) of the reference relationship to which the reference source belongs. Therefore, if a1 is the object with the lowest address and c1 is the base object, the expected results will not be output in the statistical results of the unused objects statistical functionality in the Tenured area and the base object list output functionality for Tenured augmentation factors.
If executing the unused objects statistical functionality in the Tenured area and the base object list output functionality for Tenured augmentation factors in a Java process in which the -XX:+HitachiAutoExplicitMemory option is specified, the following phenomena occurs:
Garbage Profile --------------- ________________Size__Instances__Class________________ 43861400 473859 [F 0 0 java.util.Collections$EmptyMap 0 0 sun.security.util.Debug 0 0 java.nio.ByteOrder |
Garbage Profile Root Object Information --------------------------------------- *, [F # 43861400 |
If you are using versions earlier than 08-70, specify the -XX:-HitachiExplicitMemoryPartialTenuredAreaCollection option to prevent occurrence of this phenomenon.
All Rights Reserved. Copyright (C) 2013, Hitachi, Ltd.