JVM 调优的本质:
并不是显著的提高系统性能,不是说你调了,性能就能提升几倍或者上十倍,JVM 调优,主要调的是稳定。如果你的系统出现了频繁的垃圾回收,这个 时候系统是不稳定的,所以需要我们来进行 JVM 调优,调整垃圾回收的频次。
GC 调优原则 调优的原则
1、 大多数的 java 应用不需要 GC 调优
2、 大部分需要 GC 调优的的,不是参数问题,是代码问题
3、 在实际使用中,分析 GC 情况优化代码比优化 GC 参数要多得多; 4、 GC 调优是最后的手段
目的
GC 的时间够小
GC 的次数够少
发生 Full GC 的周期足够的长,时间合理,最好是不发生。 注:如果满足下面的指标,则一般不需要进行 GC:
Minor GC 执行时间不到 50ms;
Minor GC 执行不频繁,约 10 秒一次;
Full GC 执行时间不到 1s;
Full GC 执行频率不算频繁,不低于 10 分钟 1 次;
项目启动 GC 优化
1、 开启日志分析 -XX:+PrintGCDetails 发现有多次 GC 包括 FullGC
2、 调整 Metadata 空间 -XX:MetaspaceSize=64m
3、 减少 Minor gc 次数,增加参数 -Xms500m
4、 减少 Minor gc 次数,调整参数 -Xms1000m
5、 增加新生代比重,增加参数 -Xmn900m GC 减少至 1 次
6、 加大新生代&