2

大量の処理を行う Java サーバー プロセスがあります。ログが停止するように断続的に処理を停止し、アクティビティは停止しますが、プロセスはまだアクティブです。

数回デバッグ中にこれが発生しました。そうなったら、デバッガーで一時停止/ブレークを押して、実行中のスレッドを検査し、停止の原因を探すことができます。しかし、一時停止ボタンは、通常のようにプログラムに割り込むことはなく、ただそこに留まっています。IntelliJ IDEA を使用していますが、問題が発生しているのは IDE なのか JVM なのかわかりません。

問題が発生する前にプログラムに侵入しようとすると、正常に動作し、プロセスが停止し、スレッドのリストを確認できます。

JVMがデバッグの一時停止/中断に応答しない理由を知っている人はいますか? そして、どのようにしてその状況に陥る可能性がありますか?プログラムが壊れているときの状態を確認できなければ、この問題を診断する方法がないため、少し行き詰まっています。問題が発生するまでのログには問題はありません。

4

1 に答える 1

1

JVisualVM に接続できますか? CPU は 100% になっていますか? 平等の問題がありました。アプリケーションは停止されました。JVisualVM はもう接続していません。jstack を使用したスレッド ダンプは、すべてのスレッドが停止していることを示しています (複数のスレッド ダンプに違いはありません) が、VM は 100% の CPU を消費しています。ハードウェアを変更したところ、問題は解決しました。RAM の問題であり、ガベージ コレクションが無限ループで実行されていると考えています。しかし、これは理論にすぎません。

問題を解決できる場合は、更新してください。

于 2010-10-08T22:37:39.143 に答える