关于CMS: abort preclean due to time

hotspot的jvm目前主要支持4种gc,分别是:SerialGC, ParallelGC, ParallelOldGC和CMS GC。对于离线任务,更关注吞吐量,一般推荐ParallelOldGC;对于实时响应的任务,比如web server类似,推荐CMS gc。

详细的GC介绍可以参考bluedavy的介绍:http://rdc.taobao.com/team/jm/archives/654 还有hotspot jvm的官方文章:http://java.sun.com/j2se/reference/whitepapers/memorymanagement_whitepaper.pdf

我们的CMS full gc时,经常会看到如下信息:CMS: abort preclean due to time, 这个问题有篇文章讲的很透彻:https://blogs.oracle.com/jonthecollector/entry/did_you_know。主要的意思是:preclean是为了加速下一级的remark过程,因为remark过程是STW的。preclean过程中为了更好的使用parallel,它会等待一次小gc(默认等待5s),如果5s内小gc没来,就会强制开始STW remark过程,并打印信息abort preclean due to time。就是说,出现这个log实际上关系不大,除非我们发现remark过程耗时过久。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值