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