■実行形式
メモリ(ヒープ)ダンプは、次の3つのステップで行います。
1. ヒープ情報収集
JDK/JRE 5.0(シリアルGC)の場合:
java -XX:+UseSerialGC -Xrunholmes[:t=depth][,f=0|1][,d=folder][,b=0|1|2|3|4] クラス名 |
JDK/JRE 1.4の場合:
java -Xrunholmes[:t=depth][,f=0|1][,d=folder][,b=0|1|2|3|4] クラス名 |
2. HTML/CSVファイル生成
java -jar holmes.jar [-i input-folder] [-o output-folder] -heap[,frame] |
3. ヒープ情報表示
java -jar holmes.jar -h html-folder [-i input-folder] -view[,frame] |
情報収集したデータが大きい場合、HTML/CSVファイル生成において、OutOfMemoryErrorが発生することがあります。必要に応じて-Xmxオプションで最大使用可能量を調節してください。
情報収集しているJava VMのプロセスに対して、SIGQUITを発行し、それまで収集した情報を一旦ファイルに出力できます。
kill -QUIT process-id |
■オプション
“実行形式”で示した各ステップのオプションを説明します。
◆ヒープ情報収集オプション
オプションの指定順序は任意です。
同じオプションを複数回指定した場合は、最後に指定したオプションが有効となります。
t=depth | call stack情報を精査する深さを、depthに指定します。 |
f=0|1 | ヒープ情報を収集する直前に、GCを起動するかどうか指定します。 無効です。ヒープ情報を収集する直前に、GCを起動しません。
|
d=folder | ヒープ情報格納先ディレクトリを、folderに指定します。ディレクトリは存在している必要があります。 |
b=0|1|2|3|4 | ssbを利用したヒープ情報収集の一時停止・再開・出力を行えるようにします。ssbの使用方法は“A.3.4 情報収集制御の方法”を参照してください。
注) b=1(b=2)とb=3(b=4)のどちらを指定するかは動作環境に依存します。そのため、b=1(b=2)で正しく動作しなかった場合、b=3(b=4)を指定してください。 |
◆HTML/CSVファイル生成オプション
オプションの指定順序は任意です。
同じオプションを複数回指定した場合は、最後に指定したオプションが有効となります。
-i input-folder | ヒープ情報格納先ディレクトリを、input-folderに指定します。 |
-o output-folder | HTML/CSVファイル格納先ディレクトリを、output-folderに指定します。ディレクトリは存在している必要があります。 |
-heap | ヒープ情報が、フレームなしHTMLファイルに構成されます。 |
frame | heapオプションのサブオプションです。 |
-csv | ヒープ情報が、CSV形式のファイルに構成されます。 |
◆ヒープ情報表示オプション
オプションの指定順序は任意です。
同じオプションを複数回指定した場合は、最後に指定したオプションが有効となります。
-h html-folder | HTMLファイル格納先ディレクトリを、html-folderに指定します。 |
-i input-folder | ヒープ情報格納先ディレクトリを、input-folderに指定します。 |
-view | HTMLファイルが表示されます。 |
frame | viewオプションのサブオプションです。 |