kill -3 / quit PID が何も出力しない、つまり空のスレッド ダンプになる可能性はありますか? サポートエンジニアから話を聞いて、何人かの専門家が検証できるかどうか疑問に思っていました.
これは、RHEL 5 の Java 6_26 にあります。
kill -3 / quit PID が何も出力しない、つまり空のスレッド ダンプになる可能性はありますか? サポートエンジニアから話を聞いて、何人かの専門家が検証できるかどうか疑問に思っていました.
これは、RHEL 5 の Java 6_26 にあります。
一部のサーバーでの JVM スレッド ダンプのコンソール出力は、ログ ファイルにリダイレクトされます。Tomcat サーバーの場合、通常は Catalina.out です。
サーバーが JBoss のように stdout にリダイレクトされ、stdout が /dev/null にリダイレクトされた場合にのみこれを見てきました。サーバーをセットアップした人は、stdout に送られるすべてのものが既に名前付きログ ファイルに送られていると考えていたためです。
スタンドアロンの Java アプリケーション (Oracle JDK 1.6.20+、Linux) で説明されている動作を見てきましたが、この動作を一貫して再現する方法がわかりません。いずれかのスレッドの後であった可能性がありますが、OutOfMemoryError
それ以上はわかりません。
また、得られたのは単なる空のダンプではなく、コマンドが実際にフリーズし、しばらく待ってから ctrl+C を押すまでシェルに戻らなかったと思います。jstack
いずれにせよ、 の動作は のとまったく同じであると確信していますkill -3
。それが起こったとき、アプリは非常に悪い形をしていたので、正常に反応せず、それkill
でしか機能しませんでしkill -9
た. リダイレクトはなく、通常の状況では、アプリは正常に反応しkill -3
ました。