1

WindowsでJDK 1.5.0(更新なし)でJBoss_4_0_4_GAを使用しています

JBoss サーバーは、Wrapper (バージョン 3.2.3) http://wrapper.tanukisoftware.org内で実行されます。

JVM は非常に古いため、JVM で -XX:+HeapDumpOnOutOfMemoryError オプションを使用することさえできません。

問題を見つけるためのオプションは何ですか?

いつものように、アプリケーションのさまざまな部分でメモリ不足の例外が発生しています。

JVM をすぐにアップグレードする余裕はありません。

    The current VM settings
    Java Additional Parameters
    wrapper.java.additional.1=-Xms512m
    wrapper.java.additional.2=-Xmx1024m
    wrapper.java.additional.3=-Dsun.rmi.dgc.client.gcInterval=3600000
    wrapper.java.additional.4=-Dsun.rmi.dgc.server.gcInterval=3600000
    wrapper.java.additional.5=-Dorg.xml.sax.driver=org.apache.xerces.parsers.SAXParser
    wrapper.java.additional.6=-Djava.endorsed.dirs=D:/jboss-4.0.4.GA/lib/endorsed

例外のスニペット

情報 | jvm 1 | 2012/05/31 11:25:03 | 11:25:03,502 エラー [SOAPFaultExceptionHelper] SOAP 要求の例外情報 | jvm 1 | 2012/05/31 11:25:03 | java.rmi.RemoteException: java.lang.OutOfMemoryError: Java ヒープ スペース。ネストされた例外は: INFO | jvm 1 | 2012/05/31 11:25:03 | java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: Java ヒープ領域

情報 | jvm 1 | 2012/05/31 11:25:03 | 原因: java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: Java ヒープ スペース INFO | jvm 1 | 2012/05/31 11:25:03 | java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:205) 情報で | jvm 1 | 2012/05/31 11:25:03 | java.util.concurrent.FutureTask.get (FutureTask.java:80) で

4

2 に答える 2

3

jmapを使用してメモリ ダンプを試すことができます (言及したタグでjava 5、これが可能になるはずです)。サーバーがまだ動作しているときに (1 時間ごとなど)、いくつかのダンプを実行します。

次に、それらをEclipse MATで分析します。ダンプするたびに大きくなるオブジェクト、またはオブジェクトのコレクションを検索します。これはおそらくメモリリークです。

于 2012-06-01T18:10:13.383 に答える
0

2 つのオプションがあり、それぞれに長所と短所があります。

  1. プロファイラー エージェントをインストールし、アプリケーションにプロファイラーを接続します。これはもちろん、実稼働環境では受け入れられない可能性がある深刻なパフォーマンスへの影響をもたらします。ただし、これにより、アプリケーションを監視し、ヒープ領域がほぼいっぱいになったときにメモリ ダンプを実行できます。

  2. 実稼働環境を別の場所で再現し、プロファイラーも使用します。問題が大きな負荷でのみ発生する場合は、OOME に到達するように負荷テストを作成する必要がある場合があります。

プロファイラーを使用すると、メモリ リークを見つけることができます。

それ以外の場合は、PMD と Findbugs (他の静的分析ツールの中でも特に) を使用して、静的コードのレビューを実行することをいつでも試みることができます。

于 2012-06-01T18:05:27.957 に答える