调优思路
预调优原则 堆设置、年轻代设置、老年代设置、方法区设置、GC设置
监控分析 命令和工具使用、分析GC日志以及dump文件
- 堆设置
参数 -Xms和-Xmx 通常设置相同,避免运行时不断扩展jvm内存,建议扩大至3-4倍
- 年轻代设置
参数 -Xmn 1-1.5倍 FullGC之后的老年代空间占用
避免新生代设置过小,过下引起的问题
1、 minor gc 次数频繁
2、 minor gc 对象直接进入老年代
- 老年代设置
注意低延迟的应用
吞吐量优先的应用
- 方法区设置
永久代参数 -XX:PermSize和-XX:MaxPermSize
元空间参数 -XX:MaxMetaspaceSize和-XX:MetaspaceSize 通常配置相同参数
JVM内存调优
内存分配大小
各块分配,新生代、老年代、存活区
垃圾回收算法、控制GC停顿次数和时间
死锁检查
内存泄漏检查
dump线程详细信息,查询内存运行情况
调整得目标
GC时间 足够小
GC次数 足够少
减少Full GC时间和次数
