堆设置
- -XSS:创建线程的内存大小,即虚拟机栈所占空间大小
- -Xms:初始堆大小
- -Xmx:最大堆大小。一般将-Xmx设置为和-Xms一样的值,这样在GC完之后,不需要重新计算堆区内存大小,可以提升JVM的性能
- -Xmn:新生代大小
- -XX:NewRatio:设置新生代和老年代的比值。默认值为2,表示新生代:老年代=1:2
- -XX:SurvivorRatio:新生代中Eden区与两个Survivor区的比值。默认值为8,表示Eden:Survivor0:Survivor1=8:1:1,注意Survivor区有两个
- -XX:MaxTenuringThreshold:设置转入老年代的存活次数。如果是0,则直接跳过新生代进入老年代
- -XX:PermSize、-XX:MaxPermSize:分别设置永久代最小大小与最大大小(Java8以前)
- -XX:MetaspaceSize、-XX:MaxMetaspaceSize:分别设置元空间最小大小与最大大小(Java8以后)
收集器设置
- -XX:+UseSerialGC:设置串行收集器
- -XX:+UseParallelGC:设置并行收集器
- -XX:+UseParalledlOldGC:设置并行老年代收集器
- -XX:+UseConcMarkSweepGC:设置并发收集器
垃圾回收统计信息
- -XX:+PrintGC 等价于 -verbose:gc
- -XX:+PrintGCDetails
- -XX:+PrintGCTimeStamps
- -Xloggc:filename
并行收集器设置
- -XX:ParallelGCThreads=n:设置并行收集器收集时使用的CPU数。并行收集线程数。
- -XX:MaxGCPauseMillis=n:设置并行收集最大暂停时间
- -XX:GCTimeRatio=n:设置垃圾回收时间占程序运行时间的百分比。公式为1/(1+n)
并发收集器设置
- -XX:+CMSIncrementalMode:设置为增量模式。适用于单CPU情况。
- -XX:ParallelGCThreads=n:设置并发收集器新生代收集方式为并行收集时,使用的CPU数。并行收集线程数。
栈空间设置
-XX:TLABWasteTargetPercent 设置虚拟机栈TLAB内存大小所占Eden内存比例,默认值1,表示占百分之一