昨日、私たちは1台のJBossアプリケーションサーバの当社のサーバーログに次のGC出力を持っていた:若い世代のJavaガベージコレクションはどのような場合に最後になりますか?
51628.286: [GC 51628.288: [ParNew: 1843200K->204800K(1843200K), 21.3196040 secs]
5177730K->3743415K(7987200K), 21.3217870 secs]
[Times: user=1.38 sys=0.33, real=21.32 secs]
私はこのような出力を理解する:若い世代はサイズ1843200Kです。生成前のサイズは1843200Kで、サイズは204800K以降でした。コレクションは21.3秒持続した。
通常、私たちの若い世代のコレクションは、最後に< 1秒です。どのような状況では、ygコレクションは長続きするのですか?
当社のJVMのparams:
-server
-verbose:gc
-XX:+PrintGCTimeStamps
-XX:+PrintGCDetails
-XX:NewRatio=3
-XX:+UseConcMarkSweepGC
-XX:+UseParNewGC
-XX:+UseCMSCompactAtFullCollection
-XX:CMSInitiatingOccupancyFraction=60
-XX:MaxPermSize=256m
-Xss512k
-Xms8000m
-Xmx8000m
Javaバージョン:私たちは〜2分続いたガベージコレクションを持っていたTomcatサーバーを持っていた
java version "1.6.0_29"
Java(TM) SE Runtime Environment (build 1.6.0_29-b11)
Java HotSpot(TM) 64-Bit Server VM (build 20.4-b02, mixed mode)
おかげで、 マルセル
+1。ディスクアクティビティモニタを設定して、GC中にディスクが飽和していないかどうかを確認します。 –
利用可能なLinuxメモリを監視しています。 80%を超えることは決してなかった。だからスワッピングはありません。 – Marcel