1

JenkinsスレーブエージェントであるJenkinsインスタンスを実行する8Goコンパイルサーバーがあります。すべてのジョブは同じスクリプトshを実行します。このスクリプトは、他のスクリプトと大きなantビルドを起動します。このビルドでは、複数のJVMを起動できます(forkを使用したjavac、junitreportsなど...)。

OutOfMemoryErrorを追跡する必要があります。ただし、生成されたJavaプロセスは一時的なものであるため、ツールを使用して監視することはできません。

サーバーで実行されている現在および将来のすべてのJVMを追跡し、メモリグラフを表示するツールを探しています。それは存在しますか?

4

3 に答える 3

3

良い質問。JVMインスタンスを監視/検査するためのツールをいくつか知っていますが、覚えている限り、それらのほとんどはすでに稼働しているJVMに依存しています。

jps解決策は、JVMインスタンスをチェックし(コマンドを使用)、他の監視ツールを起動するスクリプトを定期的に実行することだと思います...

于 2013-01-18T09:27:50.600 に答える
0

JConsole を実行することをお勧めします。これは無料で、プロファイリングが非常に簡単なツールです。オブジェクトの寿命、アプリケーションの品質を追跡できます (Eden Space 領域およびその他の領域を調べることによって)。JVM の完全なメモリ使用量分析を取得できます。

デフォルトでは、JDK をダウンロードすると JConsole が取得されます。

于 2013-01-18T09:45:12.397 に答える
0

そのようなツールは聞いたことがありません。

しかし、定期的に実行するシェル スクリプトを使用して同様のことを行うことができます。

jps | grep -v -i 'jps'  | cut -d' ' -f 1 | xargs -n1 jmap -heap
于 2013-01-18T09:21:14.037 に答える