1. 设定堆内存⼤⼩,这是最基本的。

2. -Xms:启动JVM时的堆内存空间。

3. -Xmx:堆内存最⼤限制。

4. 设定新⽣代⼤⼩。

5. 新⽣代不宜太⼩,否则会有⼤量对象涌⼊⽼年代

 

6. -XX:NewRatio:新⽣代和⽼年代的占⽐。

7. -XX:NewSize:新⽣代空间。

8. -XX:SurvivorRatio:伊甸园空间和幸存者空间的占⽐。

9. -XX:MaxTenuringThreshold:对象进⼊⽼年代的年龄阈值。

10. 设定垃圾回收器

年轻代:-XX:+UseParNewGC。
⽼年代:-XX:+UseConcMarkSweepGC。

CMS可以将STW时间降到最低,但是不对内存进⾏压缩,有可能出现“并⾏模式失败”。⽐如⽼年代空间还有300MB空间,
但是⼀些10MB的对象⽆法被顺序的存储。这时候会触发压缩处理,但是CMS GC模式下的压缩处理时间要⽐Parallel GC⻓很多。

G1采⽤”标记-整理“算法,解决了内存碎⽚问题,建⽴了可预测的停顿时间类型,能让使⽤者指定在⼀个⻓度为M毫秒的时
间段内,消耗在垃圾收集上的时间不得超过N毫秒