29

目に見えるアクティビティがなく、ある種の無限ループに陥っているジェンキンス インスタンスがあります。

実行中のプロセスを取得pidできますが、バグ レポートに使用できるトレースを生成するにはどうすればよいですか?

Linuxで実行しています。

4

5 に答える 5

36

jstackで試してください。スレッドが何をしているかの完全なリストが表示されます。必要なのはプロセス pid だけです。

于 2012-05-25T14:22:58.510 に答える
12

スレッド ダンプを取得します。Visual VM を介して接続し、ダンプを要求します。または、UNIX の場合は-3 pid を kill するか、Windowsの場合はプロセス コンソールでCtrl+Breakを実行します。ダンプはコンソールに直接表示されます。jstack を使用してダンプをスローすることもできます。

于 2012-05-25T14:25:27.823 に答える
4

Ctrl+\Linux の場合 (これは を送信しますSIGQUIT)

Ctrl+BreakWindows 上 ( SIGBREAKMSVCRT で送信)

于 2015-03-23T15:52:04.047 に答える
4

*nix では、topを押すH とスレッドが表示されます。

次に、プロセスが特権で開始された場合、たとえばそれを実行する必要があることに注意してくださいjpspidsudo

スレッド ID を取得して 16 進数に変換すると、そのデータを出力と交差させることができjstack pidます。

両方のツールは にあり$JAVA_HOME/binます。

于 2012-05-25T14:27:17.970 に答える
2

VisualVMを見てください。これには優れたプロファイリング ツールが多数あり、スレッド ダンプを実行できます。

于 2012-05-25T14:24:27.603 に答える