在 CentOS 上调 Java 参数,通常取决于你是临时运行 Java 程序,还是通过服务(如 systemd / Tomcat)运行。下面按常见场景说明。
直接在命令中加 JVM 参数即可:
java -Xms512m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=256m -jar app.jar
常用参数说明:
-Xms:初始堆内存-Xmx:最大堆内存-XX:PermSize / -XX:MaxPermSize(JDK8 及以前)-XX:MetaspaceSize / -XX:MaxMetaspaceSize(JDK8+)示例(JDK11):
java -Xms1g -Xmx2g -XX:MetaspaceSize=128m -jar app.jar
export JAVA_OPTS="-Xms512m -Xmx1024m"
可写入:
vi ~/.bashrc
或
vi /etc/profile
添加:
export JAVA_OPTS="-Xms512m -Xmx1024m"
然后:
source ~/.bashrc
⚠️ 注意:JAVA_OPTS 不是 Java 自动读取的,只有在启动脚本里使用才有效(如 Tomcat)。
setenv.sh(推荐)cd /usr/local/tomcat/bin
vi setenv.sh
内容:
export JAVA_OPTS="-Xms512m -Xmx1024m -XX:MetaspaceSize=128m"
赋予权限:
chmod +x setenv.sh
重启 Tomcat:
systemctl restart tomcat
如果你是 systemctl 启动的 Java 服务:
vi /etc/systemd/system/your-app.service
示例:
[Service]
Environment="JAVA_OPTS=-Xms512m -Xmx1024m"
ExecStart=/usr/bin/java $JAVA_OPTS -jar /opt/app/app.jar
重新加载:
systemctl daemon-reload
systemctl restart your-app
jps -v
或:
ps -ef | grep java
-Xlog:gc*:file=/var/log/gc.log:time
(JDK9+)
如果你能告诉我:
我可以给你精确到文件的配置示例。