uCosminexus Application Server, Expansion Guide

[Contents][Index][Back][Next]

8.6.4 Extending the Explicit memory block

This section describes the process of extending Explicit memory blocks. When you execute the expansion process, the free space in an Explicit memory block increases.

Organization of this subsection
(1) Execution timing
(2) Executed details

(1) Execution timing

JavaVM executes the extension at the following timings:

When you try to place an object in the Explicit memory block from an application that uses the Explicit Memory Management functionality API, if the object size exceeds the free space in the placement target Explicit memory block, the expansion process is executed.

After initializing the Explicit memory block, when an object is placed in the Explicit memory block for the first time, the expansion process is invariably executed.

The Web container performs initialization and places the first object in the Explicit memory block, in which the J2EE server places objects. For details on the execution timing, see 8.4 When using a J2EE server objects placed in the Explicit heap.

(2) Executed details

The JavaVM secures memory area from OS and the appropriate Explicit memory block is expanded. The memory securing API is used to secure the memory area.

However, the expansion process is not executed in the following cases:

The following table describes the changes in sub-status when extension of the Explicit memory block fails, for each reason.

Table 8-7 Changes in sub-status when extension of the Explicit memory block fails

Cause of extension failure Change in sub-status
Failed to secure memory area from OS Enable -> Disable
You tried to extend beyond the maximum limit of the Explicit heap Enable -> Disable
You tried to extend the Explicit memory block having Disable sub-status No change