CMS 回收器的两次 STW

原创
2015/12/16 16:10
阅读数 4K

CMS 回收器在一次 GC 过程中会有两次短暂的 STW,一次是 initial mark 阶段,一次是 remark 阶段。

附:CMS 的过程

  • 初始标记(STW initial mark)
  • 并发标记(Concurrent marking)
  • 并发预清理(Concurrent precleaning)
  • 重新标记(STW remark)
  • 并发清理(Concurrent sweeping)
  • 并发重置(Concurrent reset)

其中 initial mark 用来标记从 root 直接可达的和从 young genneration 中对象直接可达的对象;remark 用来标记在并发标记阶段遗漏的对象。remark 之前两个阶段:并发标记用于标记与 root 直接可达的对象下溯的对象;并发预清理用于减少 remark 的工作量,降低 STW 时间。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
0 收藏
0
分享
返回顶部
顶部