• 垃圾收集器参数总结


    参数描述

    -XX:+UseSerialGC

    Jvm运行在Client模式下的默认值,打开此开关后,使用Serial + Serial Old的收集器组合进行内存回收
    -XX:+UseParNewGC 打开此开关后,使用ParNew + Serial Old的收集器进行垃圾回收
    -XX:+UseConcMarkSweepGC 使用ParNew + CMS +  Serial Old的收集器组合进行内存回收,Serial Old作为CMS出现“Concurrent Mode Failure”失败后的后备收集器使用。
    -XX:+UseParallelGC Jvm运行在Server模式下的默认值,打开此开关后,使用Parallel Scavenge +  Serial Old的收集器组合进行回收
    -XX:+UseParallelOldGC 使用Parallel Scavenge +  Parallel Old的收集器组合进行回收
    -XX:SurvivorRatio 新生代中Eden区域与Survivor区域的容量比值,默认为8,代表Eden:Subrvivor = 8:1
    -XX:PretenureSizeThreshold 直接晋升到老年代对象的大小,设置这个参数后,大于这个参数的对象将直接在老年代分配
    -XX:MaxTenuringThreshold 晋升到老年代的对象年龄,每次Minor GC之后,年龄就加1,当超过这个参数的值时进入老年代
    -XX:UseAdaptiveSizePolicy 动态调整java堆中各个区域的大小以及进入老年代的年龄
    -XX:+HandlePromotionFailure 是否允许新生代收集担保,进行一次minor gc后, 另一块Survivor空间不足时,将直接会在老年代中保留
    -XX:ParallelGCThreads 设置并行GC进行内存回收的线程数
    -XX:GCTimeRatio GC时间占总时间的比列,默认值为99,即允许1%的GC时间,仅在使用Parallel Scavenge 收集器时有效
    -XX:MaxGCPauseMillis 设置GC的最大停顿时间,在Parallel Scavenge 收集器下有效
    -XX:CMSInitiatingOccupancyFraction 设置CMS收集器在老年代空间被使用多少后出发垃圾收集,默认值为68%,仅在CMS收集器时有效,-XX:CMSInitiatingOccupancyFraction=70
    -XX:+UseCMSCompactAtFullCollection 由于CMS收集器会产生碎片,此参数设置在垃圾收集器后是否需要一次内存碎片整理过程,仅在CMS收集器时有效
    -XX:+CMSFullGCBeforeCompaction 设置CMS收集器在进行若干次垃圾收集后再进行一次内存碎片整理过程,通常与UseCMSCompactAtFullCollection参数一起使用
    -XX:+UseFastAccessorMethods 原始类型优化
    -XX:+DisableExplicitGC 是否关闭手动System.gc
    -XX:+CMSParallelRemarkEnabled 降低标记停顿
    -XX:LargePageSizeInBytes 内存页的大小不可设置过大,会影响Perm的大小,-XX:LargePageSizeInBytes=128m

    Client、Server模式默认GC 

     新生代GC方式老年代和持久GC方式

    Client

    Serial 串行GC Serial Old 串行GC
    Server Parallel Scavenge  并行回收GC Parallel Old 并行GC

    Sun/Oracle JDK GC组合方式 

     新生代GC方式老年代和持久GC方式

    -XX:+UseSerialGC

    Serial 串行GC Serial Old 串行GC
    -XX:+UseParallelGC Parallel Scavenge  并行回收GC Serial Old  并行GC
    -XX:+UseConcMarkSweepGC ParNew 并行GC CMS 并发GC 
    当出现“Concurrent Mode Failure”时
    采用Serial Old 串行GC
    -XX:+UseParNewGC ParNew 并行GC Serial Old 串行GC
    -XX:+UseParallelOldGC Parallel Scavenge  并行回收GC Parallel Old 并行GC
    -XX:+UseConcMarkSweepGC
    -XX:+UseParNewGC
    Serial 串行GC CMS 并发GC 
    当出现“Concurrent Mode Failure”时
    采用Serial Old 串行GC

  • 相关阅读:
    C++ 解析CSV文件
    MFC/WTL 设置背景图和控件透明的方法
    VS2008安装x64版本所遇问题
    VS2012 安装番茄插件
    16年面试提问
    git 使用笔记
    03_运算符、键盘录入、流程控制
    02_java关键字、表识符、注释、进制转换、补码反码、数据类型转换
    01_计算机和java基础
    10 js一维数组、一维数组细节
  • 原文地址:https://www.cnblogs.com/wade-luffy/p/6053931.html
Copyright © 2020-2023  润新知