堆设置的常用参数如下:
- -Xms :初始堆大小
- -Xmx :最大堆大小,当Xms和Xmx设置相同时,堆就无法进行自动扩展。
- -XX:NewSize=n/-Xmn :设置年轻代大小
- -XX:NewRatio=n:设置年轻代和年老代的比值。如:为 3,表示年轻代与年老代比值为1:3,年轻代占整个年轻代年老代和的1/4
- -XX:SurvivorRatio=n :年轻代中Eden区与Survivor区的比值。注意Survivor区有两个。如:XX:SurvivorRatio=3,表示Eden区的大小是一个Survivor区的三倍,但Survivor区有两个,那么Eden:Survivor=3:2,一个Survivor区占整个年轻代的1/5。
- -XX:MaxPermSize/-XX:MetaspaceSize=n :设置方法区大小
收集器设置
- -XX:+UseSerialGC :设置串行收集器(serial+serialOld)
- -XX:+UseParallelGC :设置并行收集器(Parnew+Serialold)
- -XX:+UseParalledlOldGC :设置并行年老代收集器(parScavenge+parold)
- -XX:+UseConcMarkSweepGC :设置并发收集器(Parnew+Cms)
垃圾回收统计信息
- -XX:+PrintHeapAtGC GC的heap详情
- -XX:+PrintGCDetails GC详情
- -XX:+PrintGCTimeStamps 打印GC时间信息
- -XX:+PrintTenuringDistribution 打印年龄信息等
- -XX:+HandlePromotionFailure 老年代分配担保(true or false)
并行收集器设置
- -XX:ParallelGCThreads=n :设置并行收集器收集时使用的CPU数。并行收集线程数。
- -XX:MaxGCPauseMillis=n :设置并行收集最大暂停时间
- -XX:GCTimeRatio=n :设置垃圾回收时间占程序运行时间的百分比。公式为1/(1+n)
并发收集器设置
- -XX:+CMSIncrementalMode :设置为增量模式。适用于单CPU情况。
- -XX:ParallelGCThreads=n :设置并发收集器年轻代收集方式为并行收集时,使用的CPU数。并行收集线程数