7.9.2 実行される内容
javagcコマンドを実行すると,JavaVMによってFullGCが実行され,拡張verbosegc情報にGCの要因として「EMJavaGC Command」が出力されます。そのあと,次に示すExplicitメモリブロックが解放されます。
-
明示管理ヒープ機能の自動解放機能が有効な場合に,明示解放予約によって予約されたExplicitメモリブロック
-
明示管理ヒープ自動配置設定ファイル,またはJavaVMで生成されたExplicitメモリブロック
-
前回の解放処理で解放されなかったExplicitメモリブロック
GCの要因については,マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「-XX:[+|-]HitachiVerboseGCPrintCause(GC要因内容出力オプション)」を参照してください。
また,次の場合は,解放処理が実行されません。
-
最大数の制限を超えてExplicitメモリブロックを解放しようとした場合
現存するExplicitメモリブロックの数が1,048,575個の場合が該当します。
-
明示管理ヒープ機能がオフになっている場合
-XX:-HitachiUseExplicitMemoryオプションが指定されている場合が該当します。
この場合,コンストラクタの実行は成功しますが,無効なExplicitメモリブロック(ExplicitMemoryインスタンス)として扱われます。