zoukankan      html  css  js  c++  java
  • CMS垃圾回收器的参数设置

    • -XX:+UseConcMarkSweepGC 手动指定使用CMS收集器执行内存回收任务。
      • 开启该参数后会自动将-XX:+UseParNewGC打开。即: ParNew(Young区用)+CMS(Old区用)+Serial Old的组合。
    • -XX:CMSlnitiatingOccupanyFraction 设置堆内存使用率的阈值,一旦达到该阈值,便开始进行回收。
      • JDK5及以前版本的默认值为68,即当老年代的空间使用率达到68%时,会执行一次CMS回收。JDK6及以上版本默认值为92%
      • 如果内存增长缓慢,则可以设置一个稍大的值,大的阈值可以有效降低CMS的触发频率,减少老年代回收的次数可以较为明显地改善应用程序性能。反之,如果应用程序内存使用率增长很快,则应该降低这个阈值,以避免频繁触发老年代串行收集器。因此通过该选项可便可以有效降低Full GC的执行次数。
    • -XX:+UseCMSCompactAtFullCollection用于指定在执行完Full GC后对内存空间进行压缩整理,以此避免内存碎片的产生。不过由于内存压缩整理过程无法并发执行,所带来的问题就是停顿时间变得更长了。
    • -XX:CMSFullGCsBeforeCompaction设置在执行多少次Full GC后对内存空间进行压缩整理。
    • -XX:ParallelCMSThreads设置CMS的线程数量。
      • CMS默认启动的线程数是(ParallelGCThreads+3)/4,ParallelGCThreads 是年轻代并行收集器的线程数。当CPU资源比较紧张时,受到CMS收集器线程的影响,应用程序的性能在垃圾回收阶段可能会非常糟糕。


    作者:Shaw_Young
    链接:https://www.jianshu.com/p/2082cbe0b776
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    【洛谷P3804】【模板】后缀自动机 (SAM)
    【洛谷P3321】序列统计
    【洛谷P4929】【模板】舞蹈链(DLX)
    【洛谷P3703】树点涂色
    Kubernets二进制安装(5)之私有仓库harbor搭建
    忘记Mysql的root用户密码处理方法(以mysql 5.5.33为例)
    编译安装MySQL 5.5.33
    Kubernets二进制安装(4)之Docker安装
    Kubernets二进制安装(3)之准备签发证书环境
    Kubernets二进制安装(2)之Bind9安装
  • 原文地址:https://www.cnblogs.com/tiancai/p/14460214.html
Copyright © 2011-2022 走看看