sourCEntral - mobile manpages

pdf

jhat

名前

jhat − Java ヒープ解析ツール

形式

jhat [ options ] <heap−dump−file>

パラメータ

options

オプションを使用する場合、コマンド名の直後に記述してください。

heap−dump−file

ブラウズ対象となる Java バイナリヒープダンプファイル。複数のヒープダンプを含むダンプファイルの場合、「foo.hprof#3」のようにファイル名の後に「#<number>」を付加することで、ファイル内の特定のダンプを指定できます。

説明

jhat コマンドは、java ヒープダンプファイルを解析し、Web サーバを起動します。jhat を使えば、お好みの Web ブラウザを使ってヒープダンプをブラウズできます。jhat は、「ある既知のクラス「Foo」のすべてのインスタンスを表示する」といった、事前に設計されたクエリのほか、OQL (Object Query Language) もサポートします。OQL は、ヒープダンプに対するクエリを行うための、SQL に似たクエリ言語です。OQL のヘルプには、jhat によって表示される OQL ヘルプページからアクセスできます。デフォルトポートを使用する場合、OQL のヘルプは http://localhost:7000/oqlhelp/ で利用可能です。

Java のヒープダンプを生成するには、いくつかの方法があります。

*

jmap の −dump オプションを使って実行時にヒープダンプを取得する。

*

jconsole のオプションを使って HotSpotDiagnosticMXBean

(http://java.sun.com/javase/6/docs/jre/api/management/extension/com/sun/management/HotSpotDiagnosticsMXBean.html) 経由で実行時にヒープダンプを取得する。

*

−XX:+HeapDumpOnOutOfMemoryError VM オプションを指定すると、OutOfMemoryError のスロー時にヒープダンプが生成される。

*

hprof

(http://java.sun.com/developer/technicalArticles/Programming/HPROF.html) を使用する。

注: このツールは試験的なものであり、JDK の将来のバージョンでは使用できない可能性があります。

オプション

−stack false/true

オブジェクト割り当て呼び出しスタックの追跡を無効にします。ヒープダンプ内で割り当てサイト情報が使用できない場合、このフラグを false に設定する必要があります。デフォルトは true です。

−refs false/true

オブジェクトへの参照の追跡を無効にします。デフォルトは true です。デフォルトでは、ヒープ内のすべてのオブジェクトについて、バックポインタ (指定されたオブジェクトをポイントしているオブジェクト。つまり、参照者または受信参照) が計算されます。

−port port−number

jhat の HTTP サーバのポートを設定します。デフォルトは 7000 です。

−exclude exclude−file

「到達可能なオブジェクト」のクエリから除外すべきデータメンバの一覧を含むファイルを指定します。たとえば、このファイルに java.lang.String.value が含まれていた場合、特定のオブジェクト「o」から到達可能なオブジェクトのリストを計算する際に、java.lang.String.value フィールドに関連する参照パスが考慮されなくなります。

−baseline baseline−dump−file

ベースラインとなるヒープダンプを指定します。両方のヒープダンプ内で同じオブジェクト ID を持つオブジェクトは「新規ではない」としてマークされます。その他のオブジェクトは「新規」としてマークされます。これは、異なる 2 つのヒープダンプを比較する際に役立ちます。

−debug int

このツールのデバッグレベルを設定します。0 は「デバッグ出力なし」を意味します。より大きな値を設定すると、より冗長なモードになります。

−version 

バージョン番号を報告したあと、終了します。

−h 

ヘルプメッセージを出力したあと、終了します。

−help 

ヘルプメッセージを出力したあと、終了します。

−J<flag> 

jhat が実行されている Java 仮想マシンに <flag> を渡します。たとえば、512M バイトの最大ヒープサイズを使用するには、−J−Xmx512m とします。

関連項目

*

jmap − Java メモリマップ

*

jconsole − Java 監視および管理コンソール

*

hprof − ヒープおよび CPU プロファイリングツール

(http://java.sun.com/developer/technicalArticles/Programming/HPROF.html)

pdf