在 Debian 上调整 Tomcat 的内存(JVM 堆内存),本质就是修改 Tomcat 启动时的 JVM 参数。下面按常见场景给你说明。
Debian 使用 apt 安装的 Tomcat(如 tomcat9)一般用 systemd 管理。
systemctl list-units | grep tomcat
通常是:
tomcat9tomcat10systemctl edit tomcat9
写入内容(示例):
[Service]
Environment="JAVA_OPTS=-Xms512m -Xmx1024m -XX:MaxMetaspaceSize=256m"
含义:
-Xms512m:初始堆内存-Xmx1024m:最大堆内存-XX:MaxMetaspaceSize=256m:元空间(替代旧 PermGen)systemctl daemon-reload
systemctl restart tomcat9
如果你是用官网 tar.gz 解压的 Tomcat:
bin/setenv.sh(没有就新建)
vi /opt/tomcat/bin/setenv.sh
内容示例:
export JAVA_OPTS="-Xms512m -Xmx1024m -XX:MaxMetaspaceSize=256m"
赋予执行权限:
chmod +x /opt/tomcat/bin/setenv.sh
启动:
/opt/tomcat/bin/startup.sh
如果是旧版本:
-Xms512m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=256m
⚠️ Java 8 以后已废弃 PermGen
ps aux | grep tomcat
jps
jstat -gc <pid>
访问:
http://IP:8080/manager/status
(需配置用户)
| 场景 | 配置 |
|---|---|
| 小网站 | -Xms256m -Xmx512m |
| 一般业务 | -Xms512m -Xmx1024m |
| 高并发 | -Xms2g -Xmx4g |
⚠️ 不要超过物理内存的 70%
如果你愿意,可以告诉我:
我可以帮你给一套精确配置。