调优实战
核心概念
JVM 参数配置
内存相关参数
# 堆内存
-Xms4g # 堆初始大小(建议与 -Xmx 相同,避免动态扩缩容)
-Xmx4g # 堆最大大小
-Xmn2g # 新生代大小
-XX:NewRatio=2 # 老年代:新生代 = 2:1
-XX:SurvivorRatio=8 # Eden:S0:S1 = 8:1:1
# 栈内存
-Xss512k # 每个线程栈大小
# 元空间
-XX:MetaspaceSize=256m # 元空间初始大小
-XX:MaxMetaspaceSize=512m # 元空间最大大小
# 直接内存
-XX:MaxDirectMemorySize=1g # 最大直接内存GC 相关参数
生产环境推荐配置
监控与诊断工具
JDK 自带工具
工具
用途
常用命令
jstat — GC 监控
jmap — 堆分析
jstack — 线程分析
Arthas — 在线诊断神器
故障排查实战
场景一:CPU 飙高排查
场景二:内存泄漏排查
场景三:频繁 Full GC
原因
分析方法
解决方案
场景四:死锁排查
GC 调优方法论
调优目标
应用类型
优先指标
推荐收集器
调优步骤
调优原则
面试要点
高频问题
常见陷阱
参考资料
Last updated