jhat(1)

名前
jhat - Javaヒープ解析ツール

    o   形式

    o   パラメータ

    o   説明

    o   オプション

    o   関連項目

形式

jhat [ options ] <heap-dump-file>

パラメータ

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

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

説明

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

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

    o   jmap(1)の-dumpオプションを使用して実行時にヒープ・ダンプを取得する方法

    o   jconsole(1)のオプションを使用して HotSpotDiagnosticMXBean @
        http://docs.oracle.com/javase/7/docs/jre/api/management/extension/com/sun/management/HotSpotDiagnosticMXBean.html経由で実行時にヒープ・ダンプを取得する方法

    o   -XX:+HeapDumpOnOutOfMemoryError VMオプションを指定して、OutOfMemoryErrorのスロー時にヒープ・ダンプを生成する方法

    o   hprofを使用する方法

注意: このツールは試験的なものであり、将来の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とします。

関連項目

    o   jmap(1)

    o   jconsole(1)

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