ここでは,javagcコマンドによる明示管理ヒープの解放について説明します。
javagcコマンドによるExplicitメモリブロックの解放は,任意のタイミングで実行できます。これによって,自動解放機能が有効な場合の解放処理で解放されなかったExplicitメモリブロックを明示的に解放できます。
-ehgcオプションを指定してjavagcコマンドを実行したタイミングで,解放処理が実行されます。
javagcコマンドを実行すると,JavaVMによってFullGCが実行され,拡張verbosegc情報にGCの要因として「EMJavaGC Command」が出力されます。そのあと,次に示すExplicitメモリブロックが解放されます。
GCの要因については,マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「-XX:[+|-]HitachiVerboseGCPrintCause(GC要因内容出力オプション)」を参照してください。
また,次の場合は,解放処理が実行されません。
この場合,コンストラクタの実行は成功しますが,無効なExplicitメモリブロック(ExplicitMemoryインスタンス)として扱われます。