Hitachi

uCosminexus Application Server System Design Guide


9.4.1 Purpose of setting up a threshold value

When the same resources are accessed during online processing and batch processing, you must take into consideration the fact that there is no influence on the throughput of the online processing.

When the available memory space becomes less during the execution of a batch application, JavaVM executes Full GC of the batch server. In such a case, the processing of all programs running on the batch server is interrupted. If some resources are excluded for the batch application, those resources remain in the exclusion state even during the execution of Full GC of the batch server. If a process uses the excluded resources during the online processing, the online processing will also be interrupted.

To avoid this, you must setup a threshold value for the memory usage, and execute Full GC before the memory becomes insufficient. The explicit Full GC can be controlled such that it occurs when the resources are not excluded. By increasing the available memory space before JavaVM executes Full GC, you can prevent the execution of the Full GC while the resources are in the exclusion state.

When a threshold value is set up, Full GC will be executed in the following conditions. However, if some resources are excluded for the batch application at the same time, the Full GC will not be executed until the exclusion is cancelled.

When Serial GC is enabled
  • Ratio of the Tenured area consumption size to the Tenured area total size ≥ Threshold value

  • Ratio of the New area total size to the Tenured area maximum available size ≥Threshold value

  • Ratio of the consumed Metaspace area to the maximum Metaspace area size ≥ Threshold value

When G1 GC is enabled
  • Ratio of the consumed Java heap area size to the total Java heap area size ≥ Threshold value

  • Ratio of the consumed Metaspace area size to the maximum Metaspace area size ≥ Threshold value