• 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
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    转:常用svn命令
    如何识别网页类型(wap页面还是wise页面)
    [转]手机web HTML头信息解释和viewport meta标签解释
    网页正文抽取
    python 去除不可见的控制字符
    11_MySQL_分页查询
    10_MySQL DQL_子查询(嵌套的select)
    静态函数和实例化方法
    GET 和 POST 方法的区别
    C# .NET 开发心得
  • 原文地址:https://www.cnblogs.com/tiancai/p/14460214.html
Copyright © 2020-2023  润新知