JVM,ConcurrentMarkSweep垃圾回收器实战分析

阅读更多
堆内存设置: http://blog.csdn.net/sivyer123/article/details/17139443/
实际场景:将master的表数据,迁移到Salve;
第一种配置:
-server
-XX:+PrintGCDetails
-Xloggc:E:\gc.log
新生代垃圾回收器:PS Scavenge
旧生代垃圾回收器:PS MarkSweep
图1:VisualVM监视图

JVM,ConcurrentMarkSweep垃圾回收器实战分析_第1张图片

图2:Jconsole监视图

JVM,ConcurrentMarkSweep垃圾回收器实战分析_第2张图片

第二种配置:
-server
-XX:+UseConcMarkSweepGC
-XX:+PrintGCDetails
-Xloggc:E:\gc.log
新生代垃圾回收器:PS New
旧生代垃圾回收器:ConcurrentMarkSweep
图3:VisualVM监视图

JVM,ConcurrentMarkSweep垃圾回收器实战分析_第3张图片

图4:Jconsole监视图

JVM,ConcurrentMarkSweep垃圾回收器实战分析_第4张图片

总结:
从图1与图3可以看出-XX:+UseConcMarkSweepGC,使用并发垃圾回收器,CPU占用率的更低,垃圾回收活动更少;从图2与图4可以看出-XX:+UseConcMarkSweepGC,使用并发垃圾回收器,旧生代的回收次数减少了将近50,省时将近一分钟。这是由于ConcurrentMarkSweep效率更高,减少旧生代回收次数,而每次旧生代空间不足时,分配足够大的内存,避免了空间频繁分配;未使用ConcurrentMarkSweep,可处理的数量级为90万,而使用-XX:+UseConcMarkSweepGC足足提高了10万数量级,达到百万。






  • JVM,ConcurrentMarkSweep垃圾回收器实战分析_第5张图片
  • 大小: 70.6 KB
  • JVM,ConcurrentMarkSweep垃圾回收器实战分析_第6张图片
  • 大小: 69.9 KB
  • JVM,ConcurrentMarkSweep垃圾回收器实战分析_第7张图片
  • 大小: 62.8 KB
  • JVM,ConcurrentMarkSweep垃圾回收器实战分析_第8张图片
  • 大小: 46.3 KB
  • 查看图片附件

你可能感兴趣的:(jvm)