心软的夕阳 · 启用 SharePoint Server ...· 5 月前 · |
胡子拉碴的拐杖 · 体操女神张豆豆“黑料”曝光!隐瞒感情史,炒作 ...· 1 年前 · |
酷酷的松鼠 · 亚当计划(美国2022年肖恩·利维执导的电影 ...· 1 年前 · |
温柔的槟榔 · 他是《万里归途》里张译的原型,但他的故事远比 ...· 1 年前 · |
慷慨的鼠标垫 · 由《痴汉王爷的宠妻攻略》漫画ip改编的网剧《 ...· 1 年前 · |
CMS(concurrent mark sweep)在jdk1.5中已经开始使用了,2004年9月30日,JDK1.5发布。CMS设计的目标就是获取最低停顿时间(stop the world停顿时间),它是基于
标记-清除
算法实现的。常用的场景是互联网网站(对服务响应要求较高),它是一个老年代垃圾收集器,可以和Serial
收集器,Parallel New
收集器配合使用。当并行模式(concurrent mode failure)失败时CMS会退化成Serial Old
.
主要四个阶段
初始标记
阶段标记过的对象,标记这些对象的可达对象。
并发标记
是和应用线程是并发执行的,所以有些标记过的对象发生了变化。这个过程比
初始标记
用时长,但是比
并发标记
阶段用时短。会发生(stop the world)
标记-清除
算法,所以不可避免会有内存碎片问题。
-XX:+CMSFullGCsBeforeCompaction=n
,意思是在上次
CMS
并发
GC
执行过后,到底还要做多少
Full GC
才做压缩。默认是0,也就是说每次
CMS GC
顶不住了转入
Full GC
时都要压缩。
-XX:+UseCMSInitiatingOccupancyOnly
和
-XX:CMSInitiatingOccupancyFraction=60
,指定CMS对内存的占用率到60%时开始GC。
-XX:+CMSScavengeBeforeRemark
,在执行
重新标记
之前,先做一次
Young GC
,目的在于较少年轻代对老年代的无效引用,降低
重新标记
的开销。
CMS GC
,却触发了
Full GC
?
标记-清除
算法的缺点)
CMS GC
失败(concurrent mode failure导致)
Copyright © 2013 - 2023 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号: 粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
扫码关注腾讯云开发者
领取腾讯云代金券
温柔的槟榔 · 他是《万里归途》里张译的原型,但他的故事远比电影还惊险 1 年前 |