eheapprof(Explicitヒープ詳細情報付き拡張スレッドダンプの出力)
形式
eheapprof [-i|-f] [-force] [-freeratio] -p <プロセスID>
機能
引数に指定したプロセスIDのjavaプロセスについて,Explicitヒープ詳細情報を含んだ拡張スレッドダンプを出力します。また,Explicitメモリブロック内のオブジェクトの統計情報,およびExplicitメモリブロックの解放率情報も拡張スレッドダンプに出力できます。
引数
- -i
-
Explicitヒープ詳細情報付き拡張スレッドダンプの出力処理の実行を確認するメッセージが表示されます。表示されたメッセージに対してyまたはnを入力します。このとき,yを入力すると,Explicitヒープ詳細情報を含んだ拡張スレッドダンプが出力されます。nを入力すると,何も出力しないで処理を終了します。省略した場合,-fオプションが指定されないかぎり,このオプションは有効です。
- -f
-
-iオプションを無効にします。省略した場合,-iオプションが有効になります。
- -force
-
javaプロセスが作成する/tmp/hsperfdata_<ユーザ名>/<プロセスID>ファイルの有無の確認をしないで,-pオプションで指定したプロセスIDのjavaプロセスに対して拡張スレッドダンプの出力を要求します。
なお,このオプションはUNIX用のオプションです。
- -freeratio
-
Explicitメモリブロックのオブジェクト解放率情報の出力を有効にして,拡張スレッドダンプを出力します。
このオプションを指定してeheapprofコマンドを実行すると,JavaVMによって次の処理が実行され,オブジェクト解放率情報が取得されます。
-
FullGC
-
Explicitメモリブロックの解放処理
これらの処理によって,アプリケーションの実行が数秒間止まるおそれがあるため,Explicitメモリブロックのオブジェクト解放率情報は,システム開発時や業務停止時間中に出力することをお勧めします。
-
- -p <プロセスID>
-
Explicitヒープ詳細情報を含んだ拡張スレッドダンプを出力するjavaプログラムのプロセスIDを指定します。
戻り値
- 0:
-
正常終了しました。
- 1:
-
異常終了しました。
- 2:
-
一定時間内にExplicitヒープ詳細情報を含んだ拡張スレッドダンプ出力処理終了の応答がありませんでした。
出力メッセージ
次のエラーメッセージまたは警告メッセージが出力された場合,Explicitヒープ詳細情報付き拡張スレッドダンプは出力されません。
項番 |
エラーメッセージ |
説明 |
---|---|---|
1 |
usage: eheapprof [-f|-i] [-freeratio] -p process-id |
eheapprofコマンドへの引数の指定が間違っています。 |
2 |
eheapprof: illegal option -- <オプション> |
eheapprofコマンドに指定した<オプション>が不正です。 |
3 |
<プロセスID>: Now processing previous request, this request canceled |
eheapprofコマンドの引数に指定した<プロセスID>に該当するプロセスが,現在Explicitヒープ詳細情報を出力しています。 |
4 |
<プロセスID>: Not owner |
eheapprofコマンドの引数に指定した<プロセスID>に0が指定されています。 |
5 |
eheapprof: can't create work file at temporary directory , this request canceled |
一時ファイル用ディレクトリに参照・書き込み権限がない場合,Explicitヒープ詳細情報付き拡張スレッドダンプを出力できません。Explicitヒープ詳細情報付き拡張スレッドダンプの出力要求はキャンセルされます。 |
6 |
eheapprof: can't get temporary directory, this request canceled |
一時ファイル用ディレクトリが取り出せない場合,Explicitヒープ詳細情報付き拡張スレッドダンプを出力できません。Explicitヒープ詳細情報付き拡張スレッドダンプの出力要求はキャンセルされます。 |
7 |
eheapprof: please delete <削除できなかったファイル名> in <削除できなかったファイルのフルパス> |
eheapprofコマンドを終了したときに,内部ファイルを削除できませんでした。削除できなかったファイルのフルパスにある,削除できなかったファイルを削除してください。 |
8 |
eheapprof: unexpected error occurred: <エラー原因> |
eheapprofコマンド実行中に予期しないエラーが発生しました。 <エラー原因>には,例えば下記のような表示がされます。
|
9 |
eheapprof: can't communicate with process <プロセスID> |
eheapprofコマンドの引数に指定した<プロセスID>に該当するプロセスに問題があり,通信処理でエラーが発生しているため通信できません。または,eheapprofコマンドの引数に指定した<プロセスID>に該当するプロセスがありません。 |
10 |
<プロセスID>: Timeout occurred. Java process not responding |
eheapprofコマンドの引数に指定した<プロセスID>に該当するプロセスから,一定時間内にExplicitヒープ詳細情報出力処理終了の応答がありませんでした。 |
項番 |
エラーメッセージ |
説明 |
---|---|---|
1 |
usage: eheapprof [-f|-i] [-force] [-freeratio] -p process-id |
eheapprofコマンドへの引数の指定が間違っています。 |
2 |
eheapprof: illegal option -- <オプション> |
eheapprofコマンドに指定した<オプション>が不正です。 |
3 |
<プロセスID>: Now processing previous request, this request canceled |
eheapprofコマンドの引数に指定した<プロセスID>に該当するプロセスが,現在Explicitヒープ詳細情報を出力しています。 |
4 |
<プロセスID>: No such process |
eheapprofコマンドの引数に指定した<プロセスID>に該当するプロセスがありません。または,eheapprofコマンドで指定した<プロセスID>に該当するプロセスがjavaプロセス以外でした。 |
5 |
<プロセスID>: Not owner |
eheapprofコマンドの引数に指定した<プロセスID>のプロセスのオーナーではありません。 |
6 |
eheapprof: can't create work file at /tmp , this request canceled |
一時ファイル用ディレクトリに参照・書き込み権限がない場合,Explicitヒープ詳細情報付き拡張スレッドダンプを出力できません。Explicitヒープ詳細情報付き拡張スレッドダンプの出力要求はキャンセルされます。 |
7 |
eheapprof: please delete <削除できなかったファイル名> in <削除できなかったファイルのフルパス> |
eheapprofコマンドを終了したときに,内部ファイルを削除できませんでした。削除できなかったファイルのフルパスにある,削除できなかったファイルを削除してください。 |
8 |
eheapprof: unexpected error occurred: <エラー原因> |
eheapprofコマンド実行中に予期しないエラーが発生しました。 <エラー原因>には,例えば下記のような表示がされます。
|
9 |
<プロセスID>: Timeout occurred. Java process not responding |
eheapprofコマンドの引数に指定した<プロセスID>に該当するプロセスから,一定時間内にExplicitヒープ詳細情報出力処理終了の応答がありませんでした。 |
注意事項
-
eheapprofコマンドはプログラムの開発用ユーティリティとして提供されているものです。システムの運用では使用しないでください。
-
同じjavaプロセスに対して,同時にeheapprofコマンドは実行できません。前回のeheapprofコマンドによるExplicitヒープ詳細情報が拡張スレッドダンプに出力されたあとに実行してください。
-
Windowsの場合,Javaプロセスは起動時にMailSlotを使った通信の初期化処理を実行します。初期化に失敗した場合,メッセージを出力して処理を中断します。
-
Windowsの場合,引数に指定したプロセスIDのjavaプロセス所有者以外でもeheapprofコマンドを実行できます。
-
UNIXの場合,引数に指定したプロセスIDのjavaプロセスオーナーでないユーザがこのコマンドを実行すると,メッセージを出力して処理を終了します。ただし,ユーザがrootである場合は,処理を継続します。
-
UNIXの場合,eheapprofコマンドは,SIGQUITシグナルを指定されたプロセスに送信します。誤ってjavaプログラム以外を指定すると,ほかのプログラムが停止することがあります。
-
UNIXの場合,eheapprofコマンド実行時に,/tmp/hsperfdata_<ユーザ名>/<プロセスID>ファイルを使用します。該当するファイルが存在しない場合,eheapprofコマンドによるExplicitヒープ詳細情報付き拡張スレッドダンプは出力できません。ただし,-forceオプションを指定した場合,/tmp/hsperfdata_<ユーザ名>/<プロセスID>ファイルの有無の確認をしないで,-pオプションで指定したプロセスIDのjavaプロセスに対して拡張スレッドダンプの出力を要求します。