8. 明示管理ヒープ機能を使用したFullGCの抑止

アプリケーションサーバでは,Javaアプリケーション実行時に,Javaオブジェクトの配置先としてJavaヒープとは別のメモリ空間を使用できます。この機能を明示管理ヒープ機能といいます。明示管理ヒープ機能を効果的に使用することで,FullGCの発生を抑止できます。

この章では,明示管理ヒープ機能を使用したFullGCの抑止について説明します。

なお,G1GCを使用した場合に,明示管理ヒープ機能を使用できません。G1GC使用時に-XX:+HitachiUseExplicitMemoryを指定した場合,次のメッセージを標準出力に出力してJavaVMを終了します。

Using -XX:+UseG1GC and -XX:+HitachiUseExplicitMemory at the same time is not supported.

また,アプリケーションサーバでは,明示管理ヒープ機能がデフォルトで有効になります。そのため,G1GCを使用する場合は,-XX:-HitachiUseExplicitMemoryを指定してください。

<この章の構成>
8.1 この章の構成
8.2 明示管理ヒープ機能の概要
8.3 明示管理ヒープ機能で使用するメモリ空間の概要
8.4 J2EEサーバ利用時にExplicitヒープに配置されるオブジェクト
8.5 アプリケーションで任意にExplicitヒープに配置できるオブジェクト
8.6 Explicitメモリブロックのライフサイクルと実行される処理
8.7 自動解放機能が有効な場合のExplicitメモリブロックの解放
8.8 自動解放機能が無効な場合のExplicitメモリブロックの解放
8.9 javagcコマンドによるExplicitメモリブロックの解放
8.10 Explicitメモリブロックの自動解放処理に掛かる時間の短縮
8.11 HTTPセッションで利用するExplicitヒープのメモリ使用量の削減
8.12 明示管理ヒープ機能APIを使ったJavaプログラムの実装
8.13 実行環境での設定
8.14 明示管理ヒープ機能使用時の注意事項