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

参数 描述
-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区域的容量比值为8
XX: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=ratio GC时间占总时间的比率,默认为99,即允许1%的GC时间,仅在使用Parallel Scavenge收集器时生效
-XX:CMSInitiatingOccupancyFraction 设置CMS收集器在老年代空间被使用多久后触发垃圾收集,默认值为68%,仅在使用CMS收集器时生效
-XX:UseCMSCompactAtFullCollection 设置CMS收集器在完成垃圾收集器后是否要进行一次内存碎片整理,仅在使用CMS收集器时生效
-XX:CMSFullGCsBeforeCompaction 设置CMS收集器在进行若干次垃圾收集后再启动一次内存碎片整理,仅在使用CMS收集器时生效

你可能感兴趣的:(Java虚拟机)