Debian 上 Tomcat 宕机(进程退出、无响应、被 kill 等)是常见问题,通常不是 Tomcat 本身“无缘无故”挂掉,而是资源、配置或系统行为导致的。下面按最常见原因 → 排查方法 → 解决建议系统说明。
症状
Out of memory 或 killed process排查
# 系统日志
sudo journalctl -xe | grep -i "killed"
sudo dmesg | grep -i "oom"
# Tomcat 日志
tail -n 100 /var/log/tomcat*/catalina.out
解决
# 调整 JVM 内存
vi /etc/default/tomcat10 # 或 tomcat9
JAVA_OPTS="-Xms512m -Xmx1024m"
Debian 用 systemd 管理 Tomcat,默认有资源限制。
常见限制
症状
排查
systemctl show tomcat10 | grep -i limit
解决
sudo systemctl edit tomcat10
[Service]
LimitNOFILE=65535
LimitNPROC=65535
然后:
systemctl daemon-reload
systemctl restart tomcat10
影响
检查
df -h
du -sh /var/log/tomcat*
建议
现象
排查
top
jstack <pid>
Debian 可能:
cat /var/log/apt/history.log
last reboot
# 1. 是否还活着
systemctl status tomcat10
# 2. 系统是否杀过
dmesg | grep -i oom
# 3. Tomcat 日志
tail -n 200 /var/log/tomcat*/catalina.out
# 4. 资源情况
free -h
df -h
你可以补充:
我可以直接告诉你具体是哪一种原因 + 改哪个文件。