关于CMS垃圾收集7个阶段的疑问
来源:1-11 垃圾收集器2-老年代收集器
慕才子
2020-10-18 15:30:20
# 具体遇到的问题
请问
CMS垃圾收集7个阶段中,3,4阶段不一定执行, 请问是什么条件执行,什么条件不执行。这个要是面试不会问到就不必回答了,哈哈
# 报错信息的截图
# 相关课程内容截图
# 尝试过的解决思路和结果
# 粘贴全部相关代码,切记添加代码注释(请勿截图)
在这里输入代码,可通过选择【代码语言】突出显示
1回答
您好,我分析了下,
并发预清理是用-XX:CMSPrecleanThreshold=1000(默认值)控制的,1000是当前内存中的dirty card的数目,如果小于该阈值,则不会进入并发预清理阶段;
可终止的并发预清理,由两个参数控制:CMSScheduleRemarkEdenSizeThreshold、CMSScheduleRemarkEdenPenetration,默认值分别是2M、50%。两个参数组合起来的意思是预清理后,eden空间使用超过2M时启动可中断的并发预清理(CMS-concurrent-abortable-preclean),直到eden空间使用率达到50%时中断。
面试不会问到的,而且实际项目中这几个参数也不常用,忘记都没关系。
相似问题