Java服务在 Linux 的启动优化
一 快速定位瓶颈
二 JVM 启动参数优化
三 应用与依赖层面优化
四 Linux 系统与容器优化
五 可复用的启动脚本与验证
示例脚本(要点)
#!/usr/bin/env bash
export JAVA_HOME=/opt/jdk
APP_JAR=/opt/app/app.jar
GC_LOG=/opt/app/logs/gc-$(date +%F).log
exec "$JAVA_HOME/bin/java" \
-server \
-Xms4g -Xmx4g \
-Xss256k \
-XX:+UseG1GC -XX:MaxGCPauseMillis=200 \
-Xshare:on \
-XX:+PrintCommandLineFlags \
-XX:+PrintGCDetails -Xloggc:"$GC_LOG" \
-jar "$APP_JAR" \
"$@"
说明:将 -Xms/-Xmx 设为容器/实例可用内存的 50%–70% 作为起点,结合 GC 日志与业务指标迭代;脚本中统一通过变量管理路径与参数,便于不同环境复用与回滚。
验证与回归