GC(垃圾收集器)参数总结

    xiaoxiao2022-07-12  158

    参数描述-verbose:gc表示输出虚拟机中GC的详细情况-Xms20M设置堆最小容量为20M-Xmx20M设置堆最大容量为20M-Xmn10M设置新生代区的大小为10M-Xss128k设置虚拟机栈的大小为128k-XX:PermSize=10M设置方法区的容量为10M-XX:MaxPermSize=10M设置方法区的最大容量为10M-XX:MaxDirectMemorySize=10M设置直接内存区的最大容量为10M-XX:+HeapDumpOnOutOfMemoryError让虚拟机在出现内存溢出异常时Dump出当前的内存堆转储快照-XX:+PrintGCDetails打印GC详细信息+PrintGCTimeStamps打印GC时间信息-Xloggc:eclipse_gc.log打印GC详细信息到日志文件eclipse_gc.log-XX:UseSerialGC虚拟机运行在Client模式下的默认值,使用Serial+Serial Old的收集器组合进行内存回收-XX:UseParNewGC使用ParNew+Serial Old的收集器组合进行内存回收-XX:UseConcMarkSweepGC使用ParNew+CMS+Serial Old的收集器组合进行内存回收,Serial Old收集器将作为CMS收集器出现Concurrent Model Failure失败后的后备收集器使用-XX:UseParallelGC使用Parallel Scavenge+Serial Old的收集器组合进行内存回收-XX:UseParallelOldGC使用Parallel Scavenge+Parallel Old的收集器组合进行内存回收-XX:UseAdaptiveSizePolicy动态调整Java堆中各个区域的大小以及进入老年代的年龄-XX:SurvivorRatio=8设置新生代中Eden区与Survivor区域的容量比值为8XX:PretenureSizeThreshold=5242880设置直接晋升到老年代的对象大小为5MB,大于5MB的对象将直接在老年代复制-XX:MaxTenuringThreshold=15设置晋升到老年代的对象年龄为15,每个对象在坚持过一次Minor GC后,年龄就加一,当超过15就进入老年代-XX:NewSize=size设置年轻代的大小-XX:MaxNewSize=size新生代最大大小-XX:MetaspaceSize=size设置类元空间大小-XX:MinHeapFreeRatio=percent-XX:MinHeapFreeRatio=percent-XX:ParallelGCThreads=threads并行收集线程数量-XX:+PrintGCTaskTimeStamps为每个独立的gc线程打印时间戳-XX:+PrintTenuringDistribution打印各代信息-XX:StringDeduplicationAgeThreshold=threshold字符串存活的最小年龄 ,默认是3-XX:+UseTLAB年轻代中使用本地线程收集块-XX:+UseStringDeduplication使用字符串去重机制-XX:ParallelGCThreads=threads设置并行GC时进行内存回收的线程数-XX:MaxGCPauseMillis=500设置GC最大停顿时间为500毫秒,仅在使用Parallel Scavenge收集器时生效-XX:GCTimeRatio=ratioGC时间占总时间的比率,默认为99,即允许1%的GC时间,仅在使用Parallel Scavenge收集器时生效-XX:CMSInitiatingOccupancyFraction设置CMS收集器在老年代空间被使用多久后触发垃圾收集,默认值为68%,仅在使用CMS收集器时生效-XX:UseCMSCompactAtFullCollection设置CMS收集器在完成垃圾收集器后是否要进行一次内存碎片整理,仅在使用CMS收集器时生效-XX:CMSFullGCsBeforeCompaction设置CMS收集器在进行若干次垃圾收集后再启动一次内存碎片整理,仅在使用CMS收集器时生效
    最新回复(0)