名前
jstack - 指定されたJavaプロセスのJavaスレッドのJavaスタック・トレースのプリント
シノプシス
ノート:このコマンドは試験的であり、サポートされていません。
jstack [options] pid
- options
- これは、
jstackコマンド行オプションです。 「jstackコマンドのオプション」を参照してください。 - pid
出力されるスタック・トレースのプロセスIDです。 プロセスはJavaプロセスである必要があります。 マシン上で実行されているJavaプロセスのリストを取得するには、
psコマンドを使用するか、JVMプロセスが別のDockerインスタンスで実行されていない場合はjpsコマンドを使用します。ノート: JDK 10は、別のドッキング・プロセスで実行されているJavaプロセスにアタッチするときにAPIを使用するためのサポートを追加しました。 ただし、
jpsコマンドでは、別のDockerインスタンスで実行されているJVMプロセスをリストしません。 Dockerコンテナ内の仮想マシンとLinuxホストの接続を試みる場合は、psなどのツールを使用して、JVMのPIDを参照する必要があります。
説明
jstackコマンドは、指定されたJavaプロセスに関するJavaスレッドのJavaスタック・トレースを出力します。 Javaフレームごとに、完全なクラス名、メソッド名、バイト・コード・インデックス(BCI)および行番号(使用可能な場合)が出力されます。 C++分解名は分解解除されません。 C++名を分解解除するために、このコマンドの出力をc++filtにパイプで渡すことができます。 指定されたプロセスが64-bit JVMで実行されている場合は、たとえば-J-d64オプションを指定する必要がある場合があります。: jstack -J-d64 pid.
注:
このコマンドはサポートされておらず、JDKの将来のリリースでは使用できない可能性があります。 dbgeng.dllファイルが存在していないWindowsシステムでは、Debugging Tools For Windowsをインストールしないとこれらのツールが正常に動作しません。 PATH環境変数に、ターゲット・プロセスで使用されるjvm.dllの場所またはコア・ダンプ・ファイルが生成された場所を含める必要があります。
jstackコマンドのオプション
-l- 長形式のリスト・オプションは、ロックに関する追加情報を出力します。
-hまたは-help- ヘルプ・メッセージを出力します。