温馨提示×

centos怎么配置java内存

小樊
39
2026-10-11 15:12:04
栏目: 编程语言

在 CentOS 上“配置 Java 内存”通常有两种常见场景:临时运行 Java 程序时指定内存、为某个服务(如 Tomcat / Spring Boot)配置内存。下面分别说明。


一、运行 Java 程序时直接指定内存

最常用的是 JVM 参数:

java -Xms512m -Xmx1024m -jar app.jar

参数说明:

  • -Xms512m:初始堆内存 512MB
  • -Xmx1024m:最大堆内存 1024MB
  • 可加 -Xmn256m(年轻代,可选)

示例(2G 初始,4G 最大):

java -Xms2g -Xmx4g -jar app.jar

二、CentOS 全局环境变量方式(不推荐滥用)

可以设置 JAVA_OPTS 或 JAVA_HOME 相关变量:

export JAVA_OPTS="-Xms512m -Xmx1024m"

但只对支持该变量的程序有效(如 Tomcat)。


三、Tomcat 配置 Java 内存(CentOS 常见)

方法 1:修改 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

四、Spring Boot 服务(systemd)配置内存

如果是 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

五、查看 Java 内存是否生效

ps -ef | grep java

或:

jps -v

六、常见建议

  • 物理内存 ≤ 4G:-Xmx 不超过 2G
  • 生产环境:-Xms 和 -Xmx 设成一样,避免频繁 GC
  • 容器环境(Docker):不要超过容器内存限制

如果你能告诉我:

  • CentOS 版本
  • Java 版本(java -version)
  • 是 Tomcat / Spring Boot / 普通 jar

我可以给你更精确的配置示例。

0 踩