在 CentOS 上调整 Java 内存,通常就是设置 JVM 参数,尤其是堆内存相关参数。下面按常见场景给你说明。
java -Xms512m -Xmx1024m -jar app.jar
参数说明:
-Xms512m:初始堆内存(建议和 Xmx 一致,避免频繁扩容)-Xmx1024m:最大堆内存✅ 生产环境建议
-Xms2g -Xmx2g
catalina.shvi /usr/local/tomcat/bin/catalina.sh
在文件顶部加:
JAVA_OPTS="-Xms1g -Xmx2g -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m"
java -Xms1g -Xmx1g -jar springboot.jar
或写在启动脚本里:
#!/bin/bash
JAVA_OPTS="-Xms1g -Xmx1g"
java $JAVA_OPTS -jar app.jar
free -h
ps -ef | grep java
top
⚠️ Xmx 不要超过物理内存的 70%~80%
因为 JVM 还包括:
可加:
-XX:MaxMetaspaceSize=256m
-XX:ThreadStackSize=256k
jps
jinfo <pid> | grep Xmx
或:
jstat -gc <pid>
java \
-Xms2g -Xmx2g \
-XX:MetaspaceSize=256m \
-XX:MaxMetaspaceSize=512m \
-XX:+UseG1GC \
-jar app.jar
如果你能告诉我:
我可以给你 精确调优方案。