Java 在 Linux 上的优化配置指南
一 环境准备与基线评估
二 JVM 参数优化
-Xms4g -Xmx4g
-XX:+UseG1GC
-XX:MaxGCPauseMillis=200
-XX:+UseStringDeduplication
-XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xlog:gc*:gc.log:time
-Xms16g -Xmx16g
-XX:+UseZGC
-Xlog:gc*:gc.log:time
-Xms8g -Xmx8g
-XX:+UseParallelGC -XX:+UseParallelOldGC
-XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xlog:gc*:gc.log:time
三 Linux 系统层面优化
四 监控验证与问题排查
五 场景化配置建议
| 场景 | 推荐 GC | 关键参数要点 |
|---|---|---|
| Web/API(低停顿优先) | G1 GC | -Xms=-Xmx、-XX:MaxGCPauseMillis=200、开启 StringDeduplication、保留足够堆外余量 |
| 高吞吐批处理 | Parallel GC | -Xms=-Xmx、并行 Full GC、减少停顿换吞吐 |
| 超大堆/极低停顿(JDK 11+) | ZGC | -Xms=-Xmx、并发标记/整理、极低停顿目标 |
| 容器化微服务 | G1 或 ZGC | -XX:+UseContainerSupport、容器内存上限内设置 -Xmx、开启 GC 日志 与 Native Memory Tracking |