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

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

[img]http://dl2.iteye.com/upload/attachment/0120/5499/5a465192-07e9-348b-87d0-9da62e23e461.png[/img]

图2:Jconsole监视图

[img]http://dl2.iteye.com/upload/attachment/0120/5501/b18cae0c-fc7d-3009-99b5-ac66e319942d.png[/img]

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

[img]http://dl2.iteye.com/upload/attachment/0120/5503/1aca5865-727c-37cf-9ecb-3370e0b80130.png[/img]

图4:Jconsole监视图

[img]http://dl2.iteye.com/upload/attachment/0120/5505/95fdf77e-afb8-38da-8bea-fd9dbbac967b.png[/img]

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值