zoukankan      html  css  js  c++  java
  • concurrent mode failure

    concurrent mode failure是什么?

      CMS垃圾收集器特有的错误,CMS的垃圾清理和引用线程是并行进行的,如果在并行清理的过程中老年代的空间不足以容纳应用产生的垃圾(也就是老年代正在清理,从年轻代晋升了新的对象,或者直接分配大对象年轻代放不下导致直接在老年代生成,这时候老年代也放不下),则会抛出“concurrent mode failure”。

    concurrent mode failure影响

      老年代的垃圾收集器从CMS退化为Serial Old,所有应用线程被暂停,停顿时间变长。

    可能原因及方案

    原因1:CMS触发太晚

    方案:将-XX:CMSInitiatingOccupancyFraction=N调小;

    原因2:空间碎片太多

    方案:开启空间碎片整理,并将空间碎片整理周期设置在合理范围;

    -XX:+UseCMSCompactAtFullCollection (空间碎片整理)

    -XX:CMSFullGCsBeforeCompaction=n

    原因3:垃圾产生速度超过清理速度

    晋升阈值过小;

    Survivor空间过小;

    Eden区过小,导致晋升速率提高;

    存在大对象;

  • 相关阅读:
    类型转换器(InitBinder 初始化绑定器)
    transient关键字的用法
    Handler
    SpringMVC数据校验
    java中进程与线程的三种实现方式
    初识webservice 服务
    javaMail
    UI测试_错题解析
    ognl
    Struts2数据校验
  • 原文地址:https://www.cnblogs.com/tiancai/p/14460201.html
Copyright © 2011-2022 走看看