性能问答>CMS的AbortablePreclean阶段的一个疑问>
1回复

CMS的AbortablePreclean阶段的一个疑问



请教大家一个问题,希望大家帮我看一下我理解的对不对:
我看到在CMS AbortablePreclean阶段 有一个判断是 如果不满足 should_abort_preclean() 则退出循环,然后根据调用链
should_abort_preclean() <-- _abort_preclean <-- sample_eden() (条件1:新生代Eden区的内存使用量小于CMSScheduleRemarkEdenPenetration,默认是50%)
sample_eden() 是在进入AbortablePreclean阶段之前执行的,所以should_abort_preclean()在循环过程中并不会变化,所以是不是意味着上面所写的“条件1”起的作用其实只是决定会不会进入AbortablePreclean阶段,而一旦进入了,它因为不会再改变,所以理论上也与是否退出循环无关了。

2847 阅读
请先登录,查看1条精彩评论吧
快去登录吧,你将获得
  • 浏览更多精彩评论
  • 和开发者讨论交流,共同进步