Hitachi

uCosminexus Application Server Expansion Guide


2.9.1 Overview of the GC control functionality

GC (garbage collection) is a technology that automatically reclaims the memory areas that were used by programs and makes those memory areas available again to other programs. GC is performed by a Java VM.

The processing of GC takes time. All programs running on a Java VM stop while the Java VM is performing GC. Therefore, whether GC is performed properly greatly affects the processing performance of the system.

A batch server provides the GC control functionality to prevent a batch application from excluding a resource for a long time. The GC control functionality explicitly performs Full GC while no resources are excluded. This functionality can prevent Full GC from occurring while resources are excluded.

The following describes the GC control functionality by using an example.

If the GC control functionality is not used in an environment in which batch processing and online processing are performed concurrently, the problem shown in the following figure can occur.

Figure 2‒13: Case where the GC control functionality is not used

[Figure]

In the preceding figure, Full GC occurs while a resource is excluded by a batch application. As a result, a batch application processing stops when performing the resource exclusion. In this situation, if online processing accesses the excluded resource (record), the online processing also stops until the Full GC on the batch server finishes.

The following figure shows a case where the GC control functionality is used.

Figure 2‒14: Case where the GC control functionality is used

[Figure]

As shown in the preceding figure, if a resource (record) is excluded by a batch application when execution of Full GC is requested, Full GC begins to wait.

When the record is not excluded, Full GC occurs on the batch server. The online processing is also able to access the resources. As a result, you can avoid long time resource exclusion in a batch application.