优化Linux系统上的Java配置可以显著提高应用程序的性能和稳定性。以下是一些常见的优化步骤和建议:
-Xms(初始堆大小)和-Xmx(最大堆大小)。例如:-Xms512m -Xmx2g
-Xmn)和老年代的比例。例如:-XX:NewRatio=2
-XX:MetaspaceSize和-XX:MaxMetaspaceSize来管理元空间。例如:-XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m
-XX:+UseG1GC
-XX:MaxGCPauseMillis=200
-Xss256k
-XX:+TieredCompilation -XX:TieredStopAtLevel=1
noatime可以减少文件访问时间更新的开销:/dev/sda1 / ext4 defaults,noatime 0 1
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
jstat, jmap, jstack, VisualVM等工具监控JVM的性能。以下是一个示例的Java应用启动脚本,包含了上述的一些优化参数:
#!/bin/bash
# Java home
JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
# App home
APP_HOME=/path/to/your/app
# JAR file
JAR_FILE=$APP_HOME/your-app.jar
# JVM options
JVM_OPTS="-Xms512m -Xmx2g -XX:NewRatio=2 -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -Xss256k -XX:+TieredCompilation -XX:TieredStopAtLevel=1"
# Start the application
$JAVA_HOME/bin/java $JVM_OPTS -jar $JAR_FILE
通过以上步骤,你可以有效地优化Linux系统上的Java配置,提升应用程序的性能和稳定性。