项目中用到的GC参数

(1)总体GC策略 = ParNew + CMS + Serial Old(后备预案)
(2)后备预案:CMS期间GC和用户线程同时运作,会产生浮动垃圾,此时CMS预留空间(1-92%)不足时,GC失败,JVM启动临时GC收集器
(3)CMS缺陷:
      CPU密集型,占用应用不低于25%CPU使用率
      GC同时产生浮动垃圾,由于GC与用户线程并发运行,后者还在不停产生浮动垃圾
      CMS基于标记-清除算法,会有大量内存碎片产生
CUSTOM_JVM_ONLINE=" -server
                    -Dfile.encoding=UTF-8
                    -Dsun.jnu.encoding=UTF-8
                    -Djava.net.preferIPv6Addresses=false
                    -Djava.io.tmpdir=/tmp
                    -Duser.timezone=GMT+08
                    -Xmx6g
                    -Xms6g
                    -XX:MetaspaceSize=128m  // 元空间大小,达到则进行内存回收,
                    -XX:MaxMetaspaceSize=256m // 根据回收情况决定要不要增加元空间
                    -XX:SurvivorRatio=8
                    -XX:NewRatio=3  // 新生代与老年代内存占比:1:3,也可以通过-Xmn设置具体大小
                    -XX:+HeapDumpOnOutOfMemoryError
                    -XX:+DisableExplicitGC  // JVM忽略系统级GC调用
                    -XX:+PrintGCDetails
                    -XX:+PrintGCTimeStamps
                    -XX:+PrintCommandLineFlags
                    -XX:+UseConcMarkSweepGC
                    -XX:+UseParNewGC         // 强制新生代使用多线程并行收集,标记复制算法,能够与CMS配合工作
                    -XX:ParallelCMSThreads=4  // 老年代并发收集线程数
                    -XX:+CMSClassUnloadingEnabled // 对永久代进行垃圾回收
                    -XX:+UseCMSCompactAtFullCollection // 标记清除产生内存碎片大对象分配不了,即将Full Gc时开启整理
                    -XX:CMSFullGCsBeforeCompaction=1 // 执行多少次不压缩的Full Gc后,跟着来一次整理压缩
                    -XX:CMSInitiatingOccupancyFraction=72" // CMS在老年代内存使用率达到72%时开始垃圾收集
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值