7.15.10 MixedGC
(1) 実行契機
予測回収サイズがJavaヒープ領域の10%を超えている場合,次のGCにMixedGCが予約されます。その判定はCM終了直後のYoungGC(normal)終了時,またはMixedGCの終了時にされます。
(2) 対象範囲
New領域とTenured領域の一部
(3) 処理内容
-
MixedGCが発生すると,シングルスレッドでリージョンの選択処理を,マルチスレッドでEvacuationを実行します。
-
MixedGCではNew領域をGC対象とし,予測停止時間が目標停止時間に収まる範囲でTenured領域を部分的にGC対象に追加します。
-
MixedGCのEvacuationでは,New領域に対してはYoungGCのEvacuationと同じ処理をします。詳細については,「7.15.8 YoungGC」を参照してください。
-
GC対象に追加したTenured領域に対しては,Tenuredリージョン内の使用中のオブジェクトを別のTenuredリージョンに詰め直します。
-
MixedGC後も予測回収サイズがJavaヒープ領域の10%を超えている場合,継続してMixedGCが選択され,要件を満たしていない場合,通常のYoungGCが実行されます。
(4) 処理結果
- Eden領域:
-
オブジェクトが回収され,空になります。GC後リサイズされます。
- Survivor領域:
-
From空間のオブジェクトが回収され,空になります。GC後リサイズされます。
- Tenured領域:
-
長期間必要と判断されたオブジェクトがTenured領域に移動します。
GC対象に追加された領域のオブジェクトが回収されます。
- Humongous領域:
-
変化はありません。
- Metaspace領域:
-
変化はありません。
- Free領域:
-
GC後のリサイズによって,増減します。
(5) アプリケーションの停止の有無
停止します。
(6) ほかのGCとの関係
CM:MixedGC中に実行されません。
YoungGC:MixedGC中に実行されません。
FullGC:MixedGC中に実行要件を満たすと,MixedGCを中止して実行されます。
(7) 補足
-
関連オプション
Evacuationをするスレッド数は-XX:ParallelGCThreadsオプションで変更することができます。スレッド数を増やすとMixedGCにかかる時間が小さくなります。また,オプションを指定しない場合,スレッド数はOSが認識しているCPU数が用いられます。-XX:ParallelGCThreadsオプションについては,マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「14.5 Application Serverで指定できるJava HotSpot VMのオプション」の-XX:ParallelGCThreadsを参照してください。
-
確認方法
MixedGCの確認はログのGCの種別の“Mixed GC”から確認できます。また,TargetTenuredの項目からMixedGCで選択されたTenured領域のサイズを確認できます。オブジェクトの予測回収サイズに関してはReclaimableの項目から確認できます。ログの記述内容や詳細に関しては,マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「-XX:[+|-]HitachiVerboseGC(拡張verbosegc情報出力オプション)」を参照してください。
[VG1]<Wed Jun 12 11:21:10 2013>[Mixed GC 899070K/899072K(1048576K)->501742K/501760K(1048576K), 0.0931560 secs][Status:-][G1GC::Eden: 389120K(389120K)->0K(397312K)][G1GC::Survivor: 41984K->41984K][G1GC::Tenured: 459776K->459776K][G1GC::Humongous: 2048K->2048K][G1GC::Free: 609536K->607232K][Metaspace: 3634K(4492K, 4492K)->3634K(4492K, 4492K)][class space: 356K(388K, 388K)->356K(388K, 388K)][cause:G1EvacuationPause][RegionSize: 1024K][Target: 0.2000000 secs][Predicted: 0.2495800 secs][TargetTenured: 2048K][Reclaimable: 17703K(1.69%)][User: 0.0156250 secs][Sys: 0.0312500 secs][IM: 729K, 928K, 0K][TC: 509][DOE: 16K, 171][CCI: 2301K, 49152K, 2304K]