在 Debian 上运行 Tomcat 时,设置内存(主要是 JVM 的堆内存)通常通过 环境变量 或 systemd 服务配置 来完成。下面按常见方式一步步说明。
常用 JVM 参数:
-Xms512m # 初始堆内存
-Xmx1024m # 最大堆内存
-XX:MaxMetaspaceSize=256m # 元空间(Java 8+)
示例:给 Tomcat 分配 1GB 最大内存
setenv.sh(推荐 ✅)这是 最标准、最推荐 的方式。
setenv.shsudo nano /opt/tomcat/bin/setenv.sh
如果 Tomcat 是通过 apt 安装的,路径可能是:
/usr/share/tomcat9/bin/setenv.sh
export CATALINA_OPTS="$CATALINA_OPTS -Xms512m -Xmx1024m -XX:MaxMetaspaceSize=256m"
或(老版本也常见):
export JAVA_OPTS="-Xms512m -Xmx1024m"
✅ 推荐用 CATALINA_OPTS,只对 Tomcat 生效。
sudo chmod +x /opt/tomcat/bin/setenv.sh
sudo systemctl restart tomcat9
或
sudo /opt/tomcat/bin/shutdown.sh
sudo /opt/tomcat/bin/startup.sh
如果 Tomcat 是用 systemd 管理的:
systemctl status tomcat9
sudo systemctl edit tomcat9
会进入 override 配置。
[Service]
Environment="CATALINA_OPTS=-Xms512m -Xmx1024m"
保存后执行:
sudo systemctl daemon-reload
sudo systemctl restart tomcat9
ps -ef | grep tomcat
应能看到 -Xmx1024m。
jps -v
或
jinfo <pid>
| 内存大小 | 建议 |
|---|---|
| 物理内存 2GB | -Xms512m -Xmx1g |
| 物理内存 4GB | -Xms1g -Xmx2g |
| 物理内存 8GB+ | -Xms2g -Xmx4g |
⚠️ 不要超过物理内存的 50–70%,要留内存给 OS 和非堆内存。
startup.sh 但没 setenv.shJAVA_OPTS 和 CATALINA_OPTS,被覆盖daemon-reload你可以直接贴出:
我可以 精确告诉你改哪个文件、写什么内容 ✅