在 Ubuntu 下调整 Java 内存,通常是通过 JVM 启动参数 来设置的。下面按常见场景给你说明。
java -Xms512m -Xmx2g -jar app.jar
含义:
-Xms512m:初始堆内存 512MB-Xmx2g:最大堆内存 2GB✅ 推荐:
-Xms 和 -Xmx 设成一样,避免运行时频繁扩容,提升性能。
java -XX:+PrintFlagsFinal -version | grep HeapSize
或运行中查看:
jstat -gc <pid>
free -h
top
# 或
ps aux | grep java
java -Xms1g -Xmx1g -jar springboot-app.jar
或在 application.properties 里不行,必须在启动命令中加。
编辑:
/etc/default/tomcat9
或
CATALINA_OPTS="-Xms1g -Xmx2g"
如果是 systemd 启动的 Java 服务:
sudo systemctl edit your-java-service
加入:
[Service]
Environment="JAVA_OPTS=-Xms1g -Xmx2g"
然后:
sudo systemctl daemon-reload
sudo systemctl restart your-java-service
-XX:MetaspaceSize=256m
-XX:MaxMetaspaceSize=512m
-Xss256k
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/var/log/java/heapdump.hprof
jvisualvmjmapMAT(Eclipse Memory Analyzer)| 内存大小 | 推荐设置 |
|---|---|
| 2G 服务器 | -Xms1g -Xmx1g |
| 4G 服务器 | -Xms2g -Xmx2g |
| 8G 服务器 | -Xms4g -Xmx4g |
如果你能告诉我:
我可以给你更精准的配置建议。