Javaヒープを解析します。このコマンドは試験的なものであり、サポート対象外になっています。
jhat [ options ] heap-dump-file
コマンド行オプション。「オプション」を参照してください。
ブラウズ対象となるJavaバイナリ・ヒープ・ダンプ・ファイル。複数のヒープ・ダンプを含むダンプ・ファイルの場合、myfile.hprof#3
のようにファイル名の後に#<number>
を付加することで、ファイル内の特定のダンプを指定できます。
jhat
コマンドは、Javaのヒープ・ダンプ・ファイルを解析し、Webサーバーを起動します。jhat
コマンドでは、お気に入りのWebブラウザを使用してヒープ・ダンプを参照できます。jhat
コマンドでは、事前に設計された問合せ(既知のMyClass
クラスのすべてのインスタンスの表示など)、およびObject Query Language (OQL)がサポートされています。OQLはヒープ・ダンプの問合せを除いて、SQLに似ています。OQLのヘルプには、jhat
コマンドで表示されるOQLヘルプ・ページからアクセスできます。デフォルト・ポートを使用する場合、OQLのヘルプはhttp://localhost:7000/oqlhelp/で利用可能です。
Javaのヒープ・ダンプを生成するには、いくつかの方法があります。
実行時にヒープ・ダンプを取得するには、jmap -dump
オプションを使用します。jmap
(1)を参照してください。
HotSpotDiagnosticMXBean
経由で実行時にヒープ・ダンプを取得するには、jconsole
オプションを使用します。次の場所にあるjconsole
(1)とHotSpotDiagnosticMXBean
インタフェースについての説明を参照してください。
http://docs.oracle.com/javase/8/docs/jre/api/management/extension/com/sun/management/HotSpotDiagnosticMXBean.html
-XX:+HeapDumpOnOutOfMemoryError
Java仮想マシン(JVM)オプションを指定すると、OutOfMemoryError
がスローされるときにヒープ・ダンプが生成されます。
hprof
コマンドを使用します。「HPROF: ヒープ/CPUプロファイリング・ツール」を参照してください。
http://docs.oracle.com/javase/jp/8/technotes/samples/hprof.html
オブジェクト割当て呼出しスタックの追跡を無効にします。ヒープ・ダンプ内で割当てサイト情報が使用できない場合、このフラグをfalse
に設定する必要があります。デフォルトはtrue
です。
オブジェクトへの参照の追跡を無効にします。デフォルトはtrue
です。デフォルトでは、ヒープ内のすべてのオブジェクトについて、バック・ポインタ(参照者や受信参照など、指定されたオブジェクトをポイントしているオブジェクト)が計算されます。
jhat
のHTTPサーバーのポートを設定します。デフォルトは7000です。
到達可能なオブジェクトの問合せから除外すべきデータ・メンバーを一覧表示したファイルを指定します。たとえば、このファイルにjava.lang.String.value
が含まれていた場合、特定のオブジェクトo
から到達可能なオブジェクトのリストを計算する際に、java.lang.String.value
フィールドに関連する参照パスが考慮されなくなります。
ベースラインとなるヒープ・ダンプを指定します。両方のヒープ・ダンプ内で同じオブジェクトIDを持つオブジェクトは、新規ではないとしてマークされます。その他のオブジェクトは、新規としてマークされます。これは、異なる2つのヒープ・ダンプを比較する際に役立ちます。
このツールのデバッグ・レベルを設定します。レベル0は、デバッグ出力なしを意味します。より大きな値を設定すると、より冗長なモードになります。
リリース番号をレポートして、終了します。
ヘルプ・メッセージを表示して、終了します。
ヘルプ・メッセージを表示して、終了します。
jhat
コマンドが実行されているJava仮想マシンに、flag
を渡します。たとえば、512Mバイトの最大ヒープ・サイズを使用するには、-J-Xmx512m
と指定します。