-XX:MetaspaceSize | 21MB | 设置元空间初始大小 |
-XX:MaxMetaspaceSize | 无上限 | 设置元空间最大可分配大小 |
-XX:+UseSerialGC | -client时启用,其他情况下,默认不启用 | 使用串行垃圾收集器 |
-XX:+UseConcMarkSweepGC | 默认不启用 | 启用CMS低停顿垃圾收集器,减少FGC的暂停时间 |
-XX:+UseParallelGC | jdk7,jdk8默认启用 | 策略为新生代使用并行清除,年老代使用单线程Mark-Sweep-Compact的垃圾收集器 |
-XX:+UseParallelOldGC | 默认不启用 | 策略为老年代和新生代都使用并行清除的垃圾收集器 |
-XX:+UseParNewGC | 默认关闭 | 启用ParNewGC回收器回收年轻代垃圾,通常配合 -XX:+UseConcMarkSweepGC使用 |
-XX:+UseG1GC | 默认关闭,jdk9默认开启 | 启用G1 GC回收垃圾 |
-XX:+UseTLAB | 1.4.2以前和使用-client选项时,默认不启用,其余版本默认启用 | 启用线程本地缓存区 |
-XX:+UseCompressedClassPointer | 默认开启 | ClassPointer默认为8字节,开启指针压缩后变为4字节 |
-XX:+UseCompressedOops | 默认开启 | Oops默认为8字节,开启开启对象指针压缩后变为4字节 |
-XX:CMSFullGCsBeforeCompaction | 0 | 指的CMS是经过多少次FGC才进行压缩 |
-XX:CMSInitatingOccupancyFraction | 92% | 当Old的内存空间使用了多少后进行Full GC |
-XX:+DoEscapeAnalysis | 默认开启 | 开启逃逸分析 |
-XX:+EliminateAllocations | 默认开启 | 启用标量替换 |
-XX:+UseGCOverheadLimit | 默认启用 | 限制GC的运行时间。如果GC耗时过长,就抛OOM |
-XX:MaxTenuringThreshold= | 一般为15,当GC为CMS时为6 | 设置对象在新生代中最大的存活次数,最大值15,并行回收机制默认为15,CMS默认为6 |
-XX:NewRatio=2 | Sparc -client: 8, x86 -server: 8, x86 -client: 12, -client: 4 (1.3),8 (1.3.1+), x86: 12, 其他默认 2 | 新生代和年老代的堆内存占用比例, 例如2表示新生代占年老代的1/2,占整个堆内存的1/3 |
-XX:PreBlockSpin=10 | -XX:+UseSpinning 必须先启用,对于java6来说已经默认启用了,这里默认自旋10次 | 控制多线程自旋锁优化的自旋次数 |
-XX:SurvivorRatio=8 | Solaris amd64: 6, Sparc in 1.3.1: 25, Solaris platforms 5.0以前: 32, 其他默认 8 | Eden与Survivor的占用比例。例如8表示,一个survivor区占用 1/8 的Eden内存,即1/10的新生代内存,为什么不是1/9?因为我们的新生代有2个survivor,即S0和S1。所以survivor总共是占用新生代内存的 2/10,Eden与新生代的占比则为 8/10 |
-XX:TargetSurvivorRatio=50 | 50 | 实际使用的survivor空间大小占比。默认是50%,最高90% |
-XX:ThreadStackSize=512 | Sparc: 512, Solaris x86: 320 (5.0以前 256), Sparc 64 bit: 1024, Linux amd64: 1024 (5.0 以前 0), 其他默认 512. | 线程堆栈大小 |
-XX:+ScavengeBeforeFullGC | 默认启用 | 在Full GC前触发一次Minor GC |
-XX:+UseSpinning | java1.4.2和1.5需要手动启用, java6默认已启用 | 启用多线程自旋锁优化 |
-XX:+UseBiasedLocking | JDK 5 update 6后引入,但需要手动启用, JDK6默认启用 | 启用偏向锁 |
-XX:CompileThreshold=10000 | 1000 | 通过JIT编译器,将方法编译成机器码的触发阀值,可以理解为调用方法的次数,例如调1000次,将方法编译为机器码 |
-XX:-RestritContended | JDK8提供,默认禁用 | JVM 启用@Contended注解 |