1

ヒープが空のときに頻繁に完全なGCを示すGCログファイルがあります(最初は30分ごと、次に20、10、5、1分あたり数イベントまで。ただし、ある時点で、急激な増加が見られます。ヒープの使用量(ユーザーがアプリケーションに接続し始めた瞬間に想像します)と完全なGCイベントの発生頻度が低くなり、これが発生する理由は考えられません。

Oracle Vm 1.6を使用していますが、起動スクリプトは次のとおりです。

java -XX:+HeapDumpOnOutOfMemoryError \
     -Xmx7500m \
     -XX:HeapDumpPath=../logs \
     -verbose:gc \
     -XX:+PrintGCDetails \
     -XX:+PrintGCTimeStamps \
     -Xloggc:/app/diffusion/Logs/gc.log \
     -Dcom.sun.management.jmxremote \
     -Dcom.sun.management.jmxremote.ssl=false \
     -Dcom.sun.management.jmxremote.authenticate=false \
     -Dcom.sun.management.jmxremote.port=2000 \
     -cp ../lib/diffusion.jar:../etc:../data com.pushtechnology.diffusion.Diffusion $1
4

1 に答える 1

0

明示的なGCを無効にしてみて、それが役立つかどうかを確認してください:-XX:+DisableExplicitGC

次に、いくつかのスレッドダンプを収集して、ヒープが空のときにアプリで実際に実行されているものがないことを確認できます。

于 2013-03-15T03:53:02.520 に答える