jhsdb
jhsdbツールは、Javaプロセス、またはクラッシュしたJava仮想マシン(JVM)からのコア・ダンプに接続する場合に使用します。
jhsdbは、Serviceability Agent (SA)ツールです。Serviceability Agent (SA)はJDKコンポーネントの1つで、スナップショットのデバッグやパフォーマンス分析を実行したり、Hotspot JVMおよびHotspot JVMで実行されるJavaアプリケーションの詳細を把握する場合に使用します。
JVMの調査にはgdbのようなネイティブ・デバッガが用意されていますが、このようなネイティブ・デバッガは、jhsdbとは異なり、Hotspot内のデータ構造に関する知識を本来備えていないため、実行されるJavaアプリケーションについての洞察を提供することができません。jhsdbは、JVMの重要なコンポーネント(Javaヒープ、ヒープの世代、リージョン、コード・キャッシュなど)の場所やアドレス範囲を把握しています。
形式
jhsdb clhsdb [--pid pid | --exe executable --core coredump]jhsdb debugd [options] (pid | executable coredump) [server-id]jhsdb hsdb [--pid pid | --exe executable --core coredump]jhsdb jstack [--pid pid | --exe executable --core coredump] [options]jhsdb jmap [--pid pid | --exe executable --core coredump] [options]jhsdb jinfo [--pid pid | --exe executable --core coredump] [options]jhsdb jsnap [options] [--pid pid | --exe executable --core coredump] -
pid -
jhsdbツールの接続先となるプロセスIDです。プロセスはJavaプロセスである必要があります。マシン上で実行されているJavaプロセスのリストを取得するには、psコマンドを使用するか、JVMプロセスが別のDockerインスタンスで実行されていない場合はjpsコマンドを使用します。ノート:
JDK 10で、Attach APIを使用して、別のDockerプロセスで実行されているJavaプロセスに接続するためのサポートが追加されました。ただし、jpsコマンドでは、別のDockerインスタンスで実行されているJVMプロセスをリストしません。Dockerコンテナ内の仮想マシンとLinuxホストの接続を試みる場合は、psなどのツールを使用して、JVMのPIDを参照する必要があります。 -
server-id -
複数のデバッグ・サーバーが同一のリモート・ホストで実行している場合に使用するオプション固有のIDです。
-
executable -
コア・ダンプの作成元となるJava実行可能ファイルです。
-
coredump -
jhsdbツールの接続先となるコア・ファイルです。 -
options -
jhsdbモードでのコマンド行オプションです。「jhsdbモードの共通オプション」、「debugdモードのオプション」、「jinfoモードのオプション」、「jmapモードのオプション」、「jmapモードのオプション」、「jstackモードのオプション」および「jsnapモードのオプション」を参照してください。
ノート:
pidまたはexecutableファイル/coredumpファイルのペアを指定する必要があります。
説明
jhsdbツールは、Javaプロセスに接続するか、事後デバッガを起動して、クラッシュしたJava仮想マシン(JVM)からのコア・ダンプの内容を分析する場合に使用します。このコマンドは試験的なものであり、サポート対象外になっています。
ノート:
jhsdbツールをライブ・プロセスに接続すると、プロセスはハングし、デバッガによる切離しの際にクラッシュする可能性があります。
jhsdbツールは、次のモードのいずれかで起動できます。
jhsdbモードの共通オプション
必須のjstack、jmap、jinfoまたはjsnapモード固有のオプションに加えて、pid、exeまたはcoreオプションは、すべてのモードに対して指定する必要があります。次のオプションは、すべてのモードで使用できます。
jinfoモードのオプション
オプションが指定されていないと、jhsdb jinfoコマンドは、フラグとプロパティの両方を出力します。
jmapモードのオプション
次のモード固有のオプションに加えて、pid、exeまたはcoreオプション(「jhsdbモードの共通オプション」を参照)を指定する必要があります。
jstackモードのオプション
次のモード固有のオプションに加えて、pid、exeまたはcoreオプション(「jhsdbモードの共通オプション」を参照)を指定する必要があります。
jsnapモードのオプション
次のモード固有のオプションに加えて、pid、exeまたはcoreオプション(「jhsdbモードの共通オプション」を参照)を指定する必要があります。