jhat(1) トラブルシューティング・ツール jhat(1)

# 名前

jhat - Javaヒープを分析します。このコマンドは試験的なもので、サポートされていません。

# 概要

```
jhat [ options ] heap-dump-file 
```

*options*

コマンド行オプション。オプションを参照してください。

*heap-dump-file*

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

# 説明

**jhat**コマンドはJavaヒープ・ダンプ・ファイルを解析し、Webサーバーを開始します。**jhat**コマンドを使用して、お気に入りのブラウザでヒープ・ダンプを参照できます。**jhat**コマンドは、既知のクラス**MyClass**のすべてのインスタンスを表示するなどの事前設計済の問合せやObject Query Language (OQL)をサポートします。ヒープ・ダンプの問合せを除き、OQLはSQLに似ています。OQLのヘルプには、**jhat**コマンドによって表示されるOQLヘルプ・ページからアクセスできます。デフォルト・ポートを使用する場合、OQLのヘルプはhttp://localhost:7000/oqlhelp/で利用可能です。

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

•**jmap -dump**オプションを使用して実行時にヒープ・ダンプを取得します。[jmap(1)](/man/os/openjdk-8/jmap.1)を参照してください。

•**jconsole**オプションを使用して**HotSpotDiagnosticMXBean**経由で実行時にヒープ・ダンプを取得します。[jconsole(1)](/man/os/openjdk-8/jconsole.1)および**HotSpotDiagnosticMXBean**のインタフェースの説明( http://docs.oracle.com/javase/8/docs/jre/api/management/extension/com/sun/management/HotSpotDiagnosticMXBean.html)を参照してください。

•ヒープ・ダンプは、**-XX:+HeapDumpOnOutOfMemoryError** Java Virtual Machine (JVM)オプションを指定することで、**OutOfMemoryError**がスローされたときに生成されます。

•**hprof**コマンドを使用します。HPROF: Heap/CPUプロファイリング・ツール (http://docs.oracle.com/javase/8/docs/technotes/samples/hprof.html)を参照してください

# オプション

-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 *exclude-file*

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

-debug *int*

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

-version

リリース番号をレポートして終了します

-h

ヘルプ・メッセージを表示して終了します。

-help

ヘルプ・メッセージを表示して終了します。

-J*flag*

**jhat**コマンドを実行しているJava Virtual Machineに**flag**を渡します。たとえば、512Mバイトの最大ヒープ・サイズを使用するには、**-J-Xmx512m**とします。

# 関連項目

•[jmap(1)](/man/os/openjdk-8/jmap.1)

•[jconsole(1)](/man/os/openjdk-8/jconsole.1)

•HPROF: Heap/CPUプロファイリング・ツール (http://docs.oracle.com/javase/8/docs/technotes/samples/hprof.html)

2013年11月21日 JDK 8

---

Document: jhat(1) from openjdk-8 8.504-r3 (Chainguard OS)
Source: https://github.com/openjdk/jdk8u.git
