关于CMS: abort preclean due to time

相关内容:java.lang.NoSuchMethodError问题处理

[一般在项目依赖比较复杂或者java运行的环境有问题时同一类型的jar包有不同版本存在,本质上说是JVM找不到某个类的特定方法,也就是说JVM加载了错误版

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

相关内容:Eclipse Debug模式无法启动 Cannot connect to VM 解决

[  Eclipse普通的Run模式没有问题,Debug模式却启动不了.换了Eclipse,MyEclipse,JDK都不解决问题后来将机器上安装的城市热点认证软件关闭,Debug模式终

详细的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过程耗时过久。

相关内容:出现java.lang.UnsupportedClassVersionError 错误的原因

[     出现java.lang.UnsupportedClassVersionError 错误的原因  出现java.lang.UnsupportedClassVersionError 错误的原因,是因为我们使用高版本的JD

相关问题

评论

写下你的理解