クラス別統計機能を実行すると,拡張スレッドダンプへクラス別統計情報が出力できます。統計前のGC選択機能では,クラス別統計情報を出力する前に実施する処理を選択できます。調査目的に合わせて,実施する処理を選択することで,Javaオブジェクトのさまざまな変化の様子をクラス別統計情報に取得できます。
統計前のGC選択機能を使用する場合,jheapprofコマンドの引数で実行する処理を指定します。クラス別統計機能実行前に実施できる処理とjheapprofコマンドの引数を次の表に示します。
表9-13 クラス別統計機能実行前に実施できる処理とjheapprofコマンドの引数
処理の種類 | 処理内容 | jheapprofコマンドの引数 |
---|---|---|
FullGCの実行 | Tenured領域も含む,JavaVM固有領域全体を対象に,使用済みのオブジェクトを回収します。 | -fullgc |
CopyGCの実行 | Eden領域およびSurvivor領域だけを対象に,使用済みのオブジェクトを回収します。 | -copygc |
GCを実行しない | 使用済みのオブジェクトがあっても回収しません。 | -nogc |
なお,JavaVM起動オプションで-XX:+HitachiVerboseGCおよび-XX:+HitachiVerboseGCPrintCauseを指定している場合にクラス別統計機能を実行すると,拡張verbosegc情報に次の情報が出力されます。
これらの情報は,jheapprofコマンドに指定する引数によって,出力される情報が異なります。jheapprofコマンドの引数と出力情報の関係を次の表に示します。
表9-14 jheapprofコマンドの引数と出力情報の関係
jheapprofコマンドの引数 | GC種別 | GCが発生した要因 |
---|---|---|
-fullgc | FullGC | JHeapProf Command |
-copygc | GC | JHeapProf Command |