0

私の Java EE サーバーは問題なく動作していましたが、10 分以内に完全な GC がより頻繁に発生し始め、最終的に GC のために常に停止しました。PSPermGen はリリースされていません。

私のJVM設定は次のとおりです。

set JAVA_OPTS=%JAVA_OPTS% -Xms4g -Xmx4g -XX:MaxPermSize=512m -XX:NewRatio=3

2012-09-05T14:03:10.394+0100:94287.753:[フルGC [PSyounggen:843584K-> 0K(947200K)] [PAROLDGEN:3077347K-> 3117145K(3145728K)3920931K-cpermct(3145728K-> 31514 ->181521K(186944K)]、10.9564398 秒] [時間: user=286.14 sys=0.19、real=10.97 秒] アプリケーション スレッドが停止した合計時間: 10.9678339 秒 アプリケーション時間: 0.0023102 秒 アプリケーション スレッドが停止した合計時間: 0.0088344 秒 アプリケーション時間: 0.3052301 秒 アプリケーション スレッドが停止した合計時間: 0.0085634 秒 アプリケーション時間: 0.1125068 秒)] [ParOldGen: 3117145K->3145232K(3145728K)] 3959170K->3167641K(4092928K) [PSPermGen: 181521K->181521K(186752K)]、11.4649901 秒] [時間:user=372.58 sys=0.11, real=11.47 secs] アプリケーション スレッドが停止した合計時間: 11.4757898 秒 アプリケーション時間: 0.0706553 秒 アプリケーション スレッドが停止した合計時間: 0.0102510 秒 アプリケーション時間: 0.3951514 秒 2012-09-05T14: 03:33.748+0100:94311.110:[完全なGC [PSYounggen:843584K-> 34503K(947200K)] [PAROLDGEN:3145232K-> 3141687K(3145728K)] ]、10.9699419 秒] [時間: user=369.43 sys=0.14、real=10.97 秒] アプリケーション スレッドが停止した合計時間: 10.9806713 秒 アプリケーション時間: 0.0027075 秒0706553 秒 アプリケーション スレッドが停止した合計時間: 0.0102510 秒 アプリケーション時間: 0.3951514 秒 2012-09-05T14:03:33.748+0100: 94311.110: [フル GC [PSYoungGen: 843584K->34503K(947200K)] [4ParOldGen23 2K1 ->3141687K(3145728K)] 3988816K->3176190K(4092928K) [PSPermGen: 181521K->181521K(186112K)], 10.9699419 秒] [時間: user=369.43 sys=0.14, real=1 アプリケーションの合計時間 0.97 秒]停止された: 10.9806713 秒 適用時間: 0.0027075 秒0706553 秒 アプリケーション スレッドが停止した合計時間: 0.0102510 秒 アプリケーション時間: 0.3951514 秒 2012-09-05T14:03:33.748+0100: 94311.110: [フル GC [PSYoungGen: 843584K->34503K(947200K)] [4ParOldGen23 2K1 ->3141687K(3145728K)] 3988816K->3176190K(4092928K) [PSPermGen: 181521K->181521K(186112K)], 10.9699419 秒] [時間: user=369.43 sys=0.14, real=1 アプリケーションの合計時間 0.97 秒]停止された: 10.9806713 秒 適用時間: 0.0027075 秒97 秒] アプリケーション スレッドが停止した合計時間: 10.9806713 秒 アプリケーション時間: 0.0027075 秒97 秒] アプリケーション スレッドが停止した合計時間: 10.9806713 秒 アプリケーション時間: 0.0027075 秒

何が理由なのか手がかりはありますか?メモリ リークまたは JVM をより適切に調整できますか?

4

1 に答える 1

0

ログから、明らかなことはほとんどありません。システムがあまりにも多くのメモリを本当に必要としているために、Tenured 世代をクリアできず、3.1GB の一貫した消費が発生している可能性があります。この部分はあなただけが答えることができます。または、メモリ リークがあります。ole gen の使用領域は約 3.145GB で一定であるため、メモリ リークが発生する可能性があります。メモリリークにより、通常はこれでも増加します。おそらくより多くのログが役立つでしょう。この要因が時間とともに増加する場合は、安心してください-漏れです。一定の場合、アプリケーションは本当に必要なメモリが不足しています。

于 2012-11-12T07:08:32.963 に答える