ページの先頭行へ戻る
Interstage Application Server/Interstage Web Server チューニングガイド
Interstage

8.2.3 New世代領域サイズ自動調整機能付きGC(FJGC

  New世代領域用GC制御に対し、富士通独自技術による「New世代領サイズ自動調整機能(以降、自動調整機能と略する)」を追加して構成されたGC処理です。富士通独自技術によるGC制御を用いていることから、このGCをFJGCと呼ぶ場合もあります。

  本機能は、実行モードが32ビットモードのJDK/JRE 5.0に搭載されたFJVMにだけ提供されており、図1のオプションを指定した場合に、このGC処理が実行されます。

1 JDK/JRE 5.0のFJVMでNew世代領域サイズ自動調整機能を有効にするオプション

-XX:+UseFJGC

  図2はFJGC使用時に利用可能となる「Javaヒープのチューニング用オプション」です。
  なお、FJGC使用時かつNew世代領域サイズ自動調整機能が有効な場合は、JavaヒープのNew世代領域およびOld世代領域の大きさに関する値が自動的に調整および最適化されるため、New世代領域の大きさやNew世代領域とOld世代領域の大きさのバランスをチューニングするためのオプションは使用できません。

2 Javaヒープチューニング用オプション(FJGC使用時

-Xms
-Xmx
-XX:NewSize (注)
-XX:MaxNewSize (注)
-XX:NewRatio (注)
-XX:PermSize
-XX:MaxPermSize

注) New世代領域の大きさや、New世代領域とOld世代領域の大きさのバランスをチューニングするためのオプションです。
図4で示す範囲よりも大きな値を“-Xmx”オプションで指定し、自動調整機能が停止した場合にだけ、このオプションへの指定値は有効となります。

New世代領域サイズ自動調整機能未提供のJava VM

  次のJava VMには、New世代領域サイズ自動調整機能を提供していません。

  Java HotSpot Client VM図1のオプションを指定した場合は、図3のエラーメッセージが標準エラー出力へ出力され、Javaプロセスの起動に失敗します。
FJVM図1のオプションを指定した場合は、図3のワーニングメッセージが標準エラー出力へ出力され、オプションの指定は無効になります。

3 -XX:+UseFJGCを指定した際に出力されるメッセージ

【Java HotSpot Client VMの場合】

Unrecognized VM option '+UseFJGC'

【実行モードが64ビットモードのFJVMの場合

warning: -XX:+UseFJGC is not supported in Java HotSpot 64-Bit Server VM.

【実行モードが32ビットモードでJDK/JRE 6のFJVMの場合

warning: -XX:+UseFJGC is not supported in Java HotSpot Server VM.

New世代領域サイズ自動調整機能

  自動調整機能は、Javaアプリケーションの実行状況(オブジェクト生成要求および解放タイミングの状態変動)などの情報から、JavaヒープのNew世代領域の大きさに関する値を自動的に調整および最適化する機能です。

自動調整機能は、“メモリ割り当てプールの最大サイズ”が図4に示す値の範囲内である場合に有効となります。(“メモリ割り当てプールの最大サイズ”は、“-Xmx”オプションで指定できます。)
  “メモリ割り当てプールの最大サイズ”が図4で示す範囲よりも大きな値である場合は、FJVM起動時に図5のメッセージが標準出力へ出力され、自動調整機能は停止状態となります。
  自動調整機能が停止状態となった場合は、New世代領域の大きさに対する自動調整処理は行なわれず、シリアルGCによるGC制御と同じ処理方法で、New世代領域の大きさが制御されるようになります。ただし、その場合に使用できるJavaヒープチューニング用オプションは、図2で示すオプションだけになります。

図4 自動調整機能が有効となるメモリ割り当てプールの最大サイズ


JDK/JRE 5.0: 700MB以下


JDK/JRE 5.0: 2250MB以下


JDK/JRE 5.0: 1500MB以下

図5 自動調整機能停止時に出力されるメッセージ

Heap too large for dynamic eden: using static eden

JDK/JRE 5.0のFJVMで自動調整機能を有効にしている場合で、かつ以下のような場合には、自動調整機能を有効にするオプションを削除し、FJGC以外のGCを使用してください。

Error occurred during initialization of VM
Could not reserve enough space for object heap