温馨提示×

centos java内存怎么设

小樊
47
2026-09-11 17:38:02
栏目: 编程语言

在 CentOS 上设置 Java 内存,通常是指在启动 Java 程序(如 jar 包、Tomcat 等)时通过 JVM 参数配置堆内存。下面按常见场景说明。


一、最常用:通过 -Xms / -Xmx 设置

java -Xms512m -Xmx1024m -jar app.jar

含义:

  • -Xms512m:初始堆内存 512MB
  • -Xmx1024m:最大堆内存 1024MB

✅ 生产环境建议:

  • -Xms 和 -Xmx 设为一样,避免频繁 GC
  • 不超过物理内存的 70%~80%

二、Tomcat 中设置(CentOS 常见)

1️⃣ 修改 catalina.sh

vi /usr/local/tomcat/bin/catalina.sh

在文件开头加入:

JAVA_OPTS="-Xms1024m -Xmx2048m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m"

或(推荐):

CATALINA_OPTS="-Xms1024m -Xmx2048m"

✅ 用 CATALINA_OPTS 不会影响停止脚本


三、Spring Boot 项目

java -Xms1g -Xmx1g -XX:MetaspaceSize=256m -jar springboot.jar

四、完整常用 JVM 内存参数(推荐)

java \
-Xms2g \
-Xmx2g \
-Xss512k \
-XX:MetaspaceSize=256m \
-XX:MaxMetaspaceSize=512m \
-XX:+UseG1GC \
-jar app.jar

参数说明:

  • -Xss:线程栈大小
  • Metaspace:JDK8+ 替代 PermGen
  • UseG1GC:G1 垃圾回收器(推荐)

五、查看当前 Java 内存设置

jps
jinfo <pid> | grep Xmx

或:

ps -ef | grep java

六、CentOS 系统层面注意

  1. 关闭 swap(可选,提升性能)
swapoff -a
  1. 确认内存
free -h
  1. ulimit(线程数)
ulimit -u

七、示例:4G 服务器推荐配置

-Xms3g
-Xmx3g
-XX:MetaspaceSize=256m
-XX:MaxMetaspaceSize=512m

如果你能告诉我:

  • ✅ CentOS 版本
  • ✅ Java 版本(java -version)
  • ✅ 是 Tomcat / Spring Boot / 普通 jar
  • ✅ 服务器内存大小

我可以给你精准配置方案。

0 踩