9.7.2 GCの選択の指針
統計前のGC選択機能で,どの処理を指定するかは,出力されるクラス別統計情報の調査目的によって異なります。
ここでは,調査目的に合わせて,処理を選択する指針について説明します。
統計前のGC選択機能で選択できる処理は,jheapprofコマンドの引数で指定します。処理は,どのオブジェクトを調査対象とするか,クラス別統計情報をどのような調査で使用するかによって選択します。
処理の選択の指針を次の表に示します。
処理 (jheapprofコマンドの引数) |
調査対象 |
クラス別統計情報の調査方法の例 |
---|---|---|
FullGCの実行 (-fullgc) |
FullGCによるオブジェクトの変化 |
FullGCによって,使用済みのオブジェクトが回収されるため,Javaヒープのメモリリークの原因となるオブジェクトを特定できます。 |
CopyGCの実行 (-copygc) |
CopyGCによるオブジェクトの変化 |
CopyGCによって,Tenured領域へ移動する寿命の長いオブジェクトを特定できます。この情報から,FullGCの発生頻度が増大する原因となるオブジェクトを特定できます。 |
GCは実行しない (-nogc)※ |
GCの実行で回収されてしまう短寿命オブジェクト |
使用済みのオブジェクトを含むすべてのオブジェクトの情報が出力されます。CopyGCが多発している場合などに,その原因となるメモリ占有率の高いオブジェクト(超大オブジェクト)を特定できます。 |