21

I've got two remote servers, both running recent CentOS, both running recent Tomcat6, recent JDK6, and VisualVM 1.3.2.

ssh -X forwarding works on one server - I can start up VisualVM from that machine, it port forwards and runs fine - I see all the JVM processes running on that remote machine as 'local' in VVM.

ssh -X forwarding on the second machine - then running VisualVM - brings up an X windows with VVM in it, but it just shows one 'local' process - the VisualVM itself - and the lower right corner has a bouncing progress bar that says "computing description", and it never ends.

I can't find anything about this anywhere - anyone ever hit this? How do I get past this?

4

4 に答える 4

35

同様の問題が発生しました-VisualVMが「コンピューティングの説明」でハングし、それ自体以外のローカルJVMが表示されません。「jps」を使用して、システムで実行されているすべての JVM を見つけました。jstack を使用して、JVisualVM 自体を含むすべての JVM のスタックを取得しました。私が見つけたのは、JVisualVM がターゲット VM の 1 つへの RMI 接続を作成しようとしていて、その VM が RMI 接続の試行でハングしていたことです。私の場合、ハングした理由は、JVisualVM プロファイラーがその JVM に接続されていたためでしたが、JVisualVM は PermGen OOM で停止しました。プロファイラーの一部はまだターゲット JVM で実行されていましたが、プロファイラーのフロントエンドがないためにハングしていました。したがって、クラスをロードしようとするとハングし、新しい JVisualVM インスタンスからの着信 RMI もハングします。

スレッド ダンプがなければ、あなたの問題が私のようなものであったかどうかはわかりません。しかし、この問題が再び発生した場合は、スレッド ダンプを収集することをお勧めします。根本的な原因が何であれ、ボックス上のすべての JVM を再起動 (再起動など) することで、問題を解決できる可能性が十分にあります。

于 2013-03-12T02:37:11.233 に答える