在 Debian 上调整 Tomcat 的内存(主要是 JVM 堆内存),通常有几种方式,取决于你是 用什么方式安装的 Tomcat。下面按最常见场景说明。
which tomcat
dpkg -l | grep tomcat
ps -ef | grep tomcat
常见情况:
Debian 用 systemd 管理 Tomcat,不要在 catalina.sh 里改。
一般是:
systemctl status tomcat9
# 或
systemctl status tomcat10
编辑 systemd 配置:
sudo systemctl edit tomcat9
或手动创建:
sudo nano /etc/systemd/system/tomcat9.service.d/override.conf
加入以下内容(示例):
[Service]
Environment="JAVA_OPTS=-Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m"
常用参数说明:
| 参数 | 作用 |
|---|---|
-Xms |
初始堆内存 |
-Xmx |
最大堆内存 |
-XX:MetaspaceSize |
元空间初始 |
-XX:MaxMetaspaceSize |
元空间最大 |
✅ 推荐:
-Xms2g -Xmx2g
sudo systemctl daemon-reload
sudo systemctl restart tomcat9
setenv.sh(推荐 ✅)cd /opt/tomcat/bin
sudo nano setenv.sh
写入:
export JAVA_OPTS="-Xms512m -Xmx1024m"
赋予执行权限:
chmod +x setenv.sh
重启 Tomcat:
./shutdown.sh
./startup.sh
catalina.sh(不推荐)nano catalina.sh
加一行(不推荐,升级会被覆盖):
JAVA_OPTS="$JAVA_OPTS -Xms512m -Xmx1024m"
ps -ef | grep tomcat
jps -v
或:
java -XX:+PrintFlagsFinal -version | grep HeapSize
访问:
http://IP:8080/manager/status
| 服务器内存 | 推荐设置 |
|---|---|
| 2G | -Xms512m -Xmx1024m |
| 4G | -Xms2g -Xmx2g |
| 8G+ | -Xms4g -Xmx4g |
⚠ 建议:
Xms == Xmx(避免动态扩容)systemctl edit 修改的,一定要 daemon-reload-Xmx-XX:+PrintGCDetails -XX:+PrintGCDateStamps
如果你愿意,可以告诉我:
我可以给你 精确的内存参数示例 ✅