zoukankan      html  css  js  c++  java
  • jvm中导致Full GC的情况

    导致Full GC一般由于以下几种情况:

    1)老年代空间不足

    调优时尽量让对象在新生代细分为Eden和幸存区GC时被回收、让对象在新生代多存活一段时间增大新生代内存或者调高晋升老年代的门槛和不要创建过大的对象及数组避免直接在老年代创建对象

    2新生代设置过小

     一是新生代GC次数非常频繁,增大系统消耗;二是导致大对象直接进入老年代,占据了老年剩余空间,诱发Full GC

    3). 新生代设置过大

    一是新生代设置过大会导致老年代过小(堆总量一定),从而诱发Full GC;二是新生代GC耗时大幅度增加

    4). Survivor幸存区设置过小

    导致对象从eden伊甸园直接到达老年

    5). Survivor设置过大

    导致eden伊甸园过小,增加了GC频率

    一般说来新生代占整个堆1/3比较合适

    GC策略的设置方式

    1). 吞吐量优先 可由-XX:GCTimeRatio=n来设置

    2). 响应速度优先 可由-XX:MaxGCPauseRatio=n来设置

  • 相关阅读:
    Docker 安装 MySQL
    Docker安装
    Thymeleaf语法总结
    SpringBoot总结之事务和AOP
    SpringBoot总结之Spring Data Jpa
    SpringBoot总结之属性配置
    Spring总结之SpringMvc下
    Spring总结之SpringMvc上
    Spring总结之事务
    在什么情况下使用@ResponseBody 注解?
  • 原文地址:https://www.cnblogs.com/wl889490/p/12649969.html
Copyright © 2011-2022 走看看