性能问答>CMS-跨带引用问题解决后,遗留的思考问题?>
3回复

CMS-跨带引用问题解决后,遗留的思考问题?



CMS-跨带引用问题,通过-XX:+CMSScavengeBeforeRemark参数,问题的到了解决,old区也降到了合理范围,但是为何jvm eden区正常触发的普通yonggc替代不了remark前触发的yonggc? 不加-XX:+CMSScavengeBeforeRemark参数,oldgc会没完,没了的执行,通过观察eden也正常执行了很多次普通yonggc啊,那问题是为什么普通的yonggc执行确替代不了-XX:+CMSScavengeBeforeRemark参数触发的yonggc呢?是这两次yonggc有什么不同嘛? 这个问题困扰我很久了,网上的帖子看的差不多了,开始怀疑人生了~~~~~ 期待大牛解惑~,拜谢~

2927 阅读
请先登录,再评论

你把两种情况的GC日志传上来吧通过附件,最好加上demo的代码及JVM参数

2年前

补充:经过demo测试不使用-XX:+CMSScavengeBeforeRemark参数,当老年代达到92%达到阀值, cms-old-gc run起来停不下来后,模拟触发使用92%的thread退出,在thread-main创建大对象,刚好够触发一次yonggc的后,cms-old-gc 停止了下来~ 那么问题来了,线上服务没有配置-XX:+CMSScavengeBeforeRemark参数,经过观察应用也触发过yonggc,为啥cms-old-gc 停不下来呢?

2年前
回复 🐳_328466:

是我模拟的不对嘛?

2年前回复