JVM调优的目标是减轻开发对内存管理的负担,包括堆、方法区、程序计数器、虚拟机栈和本地方法栈。对象的生命周期经历YGC后,存活对象会晋升到老年代。大对象会直接进入老年代。老年代的GC触发时机包括老年代空间不足和CMS收集过程。根据应用需求和特性,可以选择不同的收集器进行优化。JVM优化一般针对新应用上线和老应用监控异常反馈进行。优化指标包括YGC和FGC频率、堆内存持续上涨、FGC停顿时间长等。
作者王江波提出了内存占用高触发报警的问题,并提出了解锁实验参数、禁用显示调用Full gc、gc日志指标、最大线程数、内存分析等优化策略,以及jstack等工具的使用,以及使用jstat、jmap-histo、jmqp-heap、jmqp-dump等工具,分析gc日志,调整参数,增大元空间,使用CMS & PNEW等方案,以及临时方案以观后效,以解决内存占用高问题。
完成下面两步后,将自动完成登录并继续当前操作。