美文网首页
CMS的缺点

CMS的缺点

作者: an_bear | 来源:发表于2018-09-01 17:22 被阅读0次

CMS的缺点:

1.浮动垃圾:由于CMS并发清理阶段用户线程还在运行着,伴随程序运行自然会有新垃圾产生,这部分垃圾得标记过程之后,所以CMS无法在当收集中处理掉他们,只好留待下一次GC清理掉,这一部分垃圾称为浮动垃圾。在jdk1.5默认设置下,CMS收集器当老年代使用了68%的空间就会被激活,可以通过-XX:CMSInitialOccupancyFraction的值来提高触发百分比,在jdk1.6中CMS启动阈值提升到了92%,要是CMS运行期间预留的内存无法满足程序的需要,就会出现”Concurrent Mode Failure“,然后降级临时启用Serial Old收集器进行老年代的垃圾收集,这样停顿时间就很长了,所以-XX:CMSInitialOccupancyFraction设置太高容易导致大量”Concurrent Mode Failure“。

2.有空间碎片:CMS是一款基于“标记-清除”算法实现的,所以会产生空间碎片。为了解决这个问题,CMS提供了-XX:UseCMSCompactAtFullCollection开发参数用于开启内存碎片的合并整理,由于内存整理是无法并行的,所以停顿时间会变长。还有-XX:CMSFullGCBeforeCompaction,这个参数用于设置多少次不压缩Full GC后,跟着来一次带压缩的(默认为0)。

3.对CPU资源敏感,CMS默认启动的回收线程数是(cpu数量+3)/4。所以CPU数量少会导致用户程序执行速度降低较多。

相关文章

  • CMS的缺点

    CMS的缺点: 1.浮动垃圾:由于CMS并发清理阶段用户线程还在运行着,伴随程序运行自然会有新垃圾产生,这部分垃圾...

  • JVM垃圾回收器之CMS回收过程及优缺点

    JVM垃圾回收器之CMS回收过程及优缺点 今天给大家介绍一下CMS垃圾回收器。首先CMS是一款多线程+分段操作的一...

  • 2018-06-29G1和CMS的区别

    CMS是一款优秀的收集器,主要优点:并发收集、低停顿。 缺点: 1)CMS收集器对CPU资源非常敏感。在并发阶段,...

  • 22-大厂面试题:Con-current Mode Failur

    上文我们已经介绍了CMS垃圾收集器的工作原理以及流程,本篇我们接着深入说明CMS垃圾收集器的缺点以及所导致的一些问...

  • Java-JVM-垃圾回收器

    CMS采用的是标记清除算法。 缺点:cpu敏感、浮动垃圾、内存碎片 ①短暂暂停线程(Stop The World ...

  • Java基础-JVM

    JVM的垃圾回收过程,以及相应的CMS和G1的算法。 CMS和G1的比较,以及G1的缺点,S0、S1要解决什么样的...

  • 谈谈CMS垃圾收集器

    CMS是一种以获取最短回收停顿时间为目标的收集器优点:1.并发收集2.低停顿缺点1.CMS收集器对CPU资源非常敏...

  • 五个国外顶尖 CMS 行业资源汇编

    以下国外 CMS 资源全部来自全球顶尖 CMS 行业中立的研究机构,CMS 行业门户,开源 CMS 系统行业门户,...

  • 2.JVM系列-CMS垃圾收集器

    目录 一.背景 二.CMS垃圾收集器特性 三.CMS执行步骤 四.CMS日志解释(JDK1.8): 五.CMS参数...

  • java CMS垃圾回收日志

    文章目录一、CMS垃圾回收器介绍二、CMS JVM运行参数三、CMS收集器运行过程1、初始标记(CMS initi...

网友评论

      本文标题:CMS的缺点

      本文链接:https://www.haomeiwen.com/subject/leyuwftx.html