1

JRE 1.4.2_12 で動作する私がサポートする Java アプリケーションは、毎晩真夜中近くにハングアップします。JVMまたはアプリの外部に問題があるかどうかを発見するために、できるだけ多くのプロファイリング情報を記録したいと思います.

HPROF を使用して、できるだけ多くの情報を収集したいと考えています。

  1. JVM の終了時ではなく、HPROF が CPU サンプルとメモリ割り当てレポートを毎分ダンプする方法はありますか?
  2. このような情報を収集できる別のより適切なプロファイラーはありますか?
4

3 に答える 3

1

ダンプ ファイルに頼るのではなく、プロファイラーを VM に接続して、ハングアップが発生するまで接続したままにします。次に、プロファイラーを使用してスレッドの状態を調べます。

Java 1.4 の使用は、1.4 のデバッグ インターフェイスが優れていないため、ここでは小さな問題ですが、一部のプロファイラーはまだサポートしています。商用ですが、評価ライセンスを提供するYourKitを特にお勧めします。これは私が使用した中で最高のプロファイラーですが、多少の余裕があります。

于 2009-07-29T19:25:41.790 に答える
1

まず最初に、アプリケーションがハングしたときにスレッド ダンプを分析しましたか? 多くの場合、ハングアップしている Java アプリをトラブルシューティングするのに十分な情報があります...

Ctrl-Breakkill -QUIT [pid]Windows またはLinuxのプロセス ウィンドウで

于 2009-07-29T20:35:26.600 に答える
0

最初に、それが実際にあなたのアプリなのか、それとも何か他のものなのかを判断しようとします.

ボックスに他のアプリはありますか?もしそうなら、それらは真夜中頃にバッチを実行しますか? ボックスで他のものが実行されているか、帯域幅を消費しているために、アプリがリソース不足に苦しんでいる状況である可能性があります.

これはいつものことですか、それとも最近始まったのですか。これが新しい場合は、自分のアプリだけでなく、ボックス全体の変更点を見てください。

于 2009-07-29T20:14:20.270 に答える