Hitachi

Cosminexus V11 アプリケーションサーバ システム設計ガイド


7.17.5 Javaヒープ領域のメモリ管理方法

オブジェクト作成からGC完了までの流れを次の図に示します。

図7‒42 オブジェクト作成からGC完了までの流れ

[図データ]

〈この項の構成〉

(1) オブジェクト作成時

オブジェクトのサイズに応じて,Smallページ,MediumページまたはLargeページにオブジェクトが配置されます。

各ページに配置されるオブジェクトは次のとおりです。

なお,すでにオブジェクトがあるページに新しいオブジェクトを配置できる場合は,そのページを優先してオブジェクトを配置します。

(2) 回収するページの選択

使用済みのオブジェクトの割合に応じて,回収するページを選択します。この割合は,-XX:ZFragmentationLimitオプションで設定できます。詳細は,マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「14.5 Application Serverで指定できるJava HotSpot VMのオプション」を参照してください。

(3) 使用中のオブジェクトのコピーとページの回収

選択したページに含まれる使用中のオブジェクトのサイズに応じて,Free領域からページを割り振り,使用中のオブジェクトをコピーします。そのあと,ページを回収して,削除します。Free領域が不足してコピーできない場合は,InPlaceを使用します。

InPlaceとは,回収するページ内に使用中のオブジェクトをコピーする方法です。これによって,Free領域が不足している場合でも,OutOfMemoryにならないでGC処理を実行できます。

InPlaceの概要を次の図に示します。

図7‒43 InPlaceの概要

[図データ]

(4) GC完了

回収されたページの領域は,Free領域に追加されて再利用されます。