1

Java プロセスが停止するという興味深い問題があります。

アプリケーションはスタックトレースを行わず、ログに何も書き込みません。プロセスはランダムに終了します。これは頻繁に使用されるアプリケーションですが、問題が発生するのは月に 1 回程度です。

現在、 Process Monitorの使用を検討していますが、他の提案があれば歓迎します。

編集:

これは分散 Java アプリケーションであり、社内の Web フレームワークを使用して Weblogic 上で実行され (これはひどい考えですが、8 年間実行されています)、Oracle に接続しています。

-

メモリ不足ですか? Brian Agnew によると、私たちのログは java.lang.OutOfMemoryException をキャッチします。

クラッシュをログに書き込みますか? Java が終了するのではなく、プロセス レベルで死が起こっているのです。

4

3 に答える 3

2

ログファイル(stdout / stderr)と終了コード(どのように死んだかを示す必要があります)をキャプチャするシェルスクリプトでラップできますか?JVM出口では、 WMIを使用してマシンレベルの統計をキャプチャすることもできます

VM自体がクラッシュしている場合は、スタックトレース、マシンレベルのデバッグ情報を含むhs_err_pid...ファイルが残ります。その後、それを使用してVMの問題を診断できます。詳細については、このブログエントリを参照してください。

問題がアプリの動作に関連している場合は、 JConsoleを確認する価値があるかもしれませんが、問題の説明からすると、これは低レベルのVMの問題のように聞こえます。

(Javaのバージョン番号などで最新のVMを使用していると思います)

于 2009-03-27T10:44:20.170 に答える
0

Linux NAGIOS サーバーを使用して、Windows マシンとサービスの状態を監視できます! nagios-monitoring-windowsを見てください。

Java アプリでこのような問題が発生した場合は、テストしてデバッグする必要があります。アプリケーションは跡形もなく死ぬべきではありません! ログファイルを探してください!アプリはどのベンダーからのものですか? それとも自作ですか?別の Log4J/Logger/Debug レベルを適用してみてください。このようなクラッシュの可能性を減らすために、サボテンなどでシステムを監視してください。ソフトウェアベンダーに相談してください。

十分なメモリを使用できますか? もしかしてアプリのメモリ不足?スタンドアロンの Java プロセスですか、それとも tomcat/jboss サーバーからの Java プロセスですか?

クラッシュ時間をログに書き留めましたか? それらは異なるタイム スライスに表示されますか? それとも、ほぼ時間循環しているように見えますか?

于 2009-03-27T10:30:44.617 に答える
0

VisualVM は、Java アプリケーションの監視を容易にする新しいツールです。

https://visualvm.dev.java.net/description.html

「VisualVM は、実行中の Java アプリケーションに関する詳細情報を提供するツールです。複数の Java アプリケーションに関する情報を簡単に確認できる直感的なグラフィカル ユーザー インターフェイスを提供します。」

于 2009-04-01T16:09:34.980 に答える