-Xms
(初始堆)和 -Xmx
(最大堆)设置,建议两者设为相同值(如 -Xms4g -Xmx4g
),避免堆扩容开销,且设置为可用物理内存的70%-80%。-XX:NewRatio
控制(默认2,即新生代:老年代=1:2),若应用创建大量临时对象,可设为1(-XX:NewRatio=1
)。-XX:MetaspaceSize
和 -XX:MaxMetaspaceSize
限制元空间大小,避免内存泄漏(如 -XX:MaxMetaspaceSize=512m
)。-XX:+UseG1GC -XX:MaxGCPauseMillis=200
(设置期望最大停顿时间)。-XX:+UseParallelGC -XX:ParallelGCThreads=CPU核心数
。-XX:+UseZGC
)。-Xss
设置(如 -Xss2m
),避免栈溢出。-XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:/path/to/gc.log
,通过工具(如GCEasy、JMC)分析日志优化参数。jconsole
、VisualVM
或 top
命令查看内存使用、CPU负载和GC情况。SurvivorRatio
。