在 CentOS 上“配置 Java 内存”通常有两种常见场景:临时运行 Java 程序时指定内存、为某个服务(如 Tomcat / Spring Boot)配置内存。下面分别说明。
最常用的是 JVM 参数:
java -Xms512m -Xmx1024m -jar app.jar
参数说明:
-Xms512m:初始堆内存 512MB-Xmx1024m:最大堆内存 1024MB-Xmn256m(年轻代,可选)示例(2G 初始,4G 最大):
java -Xms2g -Xmx4g -jar app.jar
可以设置 JAVA_OPTS 或 JAVA_HOME 相关变量:
export JAVA_OPTS="-Xms512m -Xmx1024m"
但只对支持该变量的程序有效(如 Tomcat)。
catalina.sh编辑:
vi /usr/local/tomcat/bin/catalina.sh
在文件前面加:
JAVA_OPTS="-Xms512m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=256m"
Java 8 以后用:
JAVA_OPTS="-Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m"
重启 Tomcat:
systemctl restart tomcat
如果是 CentOS 7/8 的 systemd 服务:
vi /etc/systemd/system/yourapp.service
在 [Service] 中:
Environment="JAVA_OPTS=-Xms512m -Xmx1024m"
ExecStart=/usr/bin/java $JAVA_OPTS -jar /opt/app/app.jar
重新加载:
systemctl daemon-reload
systemctl restart yourapp
ps -ef | grep java
或:
jps -v
-Xmx 不超过 2G-Xms 和 -Xmx 设成一样,避免频繁 GC如果你能告诉我:
我可以给你更精确的配置示例。