温馨提示×

tomcat启动慢debian日志说啥

小樊
43
2026-09-07 09:01:32
栏目: 智能运维

在 Debian 上 Tomcat 启动慢,常见日志位置和它们“会说什么”如下。


1. 看哪里

  • systemd 方式(最常见)
    journalctl -u tomcat9
    # 或
    journalctl -u tomcat
    
  • Tomcat 自身日志
    /var/log/tomcat9/catalina.out
    /var/log/tomcat9/catalina.YYYY-MM-DD.log
    

2. 日志里常见的“慢”信号

✅ 熵不足(非常常见)

日志可能类似:

Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [XXXXX] milliseconds

或启动卡在:

Deploying web application directory [...]

原因/dev/random 阻塞,熵不够。

解决

apt install haveged
# 或
systemctl enable --now haveged

或 JVM 参数:

-Djava.security.egd=file:/dev/./urandom

✅ 部署应用慢

日志会说:

Deploying web application: /var/lib/tomcat9/webapps/xxx

然后很久没有下一行。

原因

  • 应用大
  • 初始化慢(数据库连接、缓存、Spring 扫描)

✅ 数据库连接慢

日志常见:

Cannot create PoolableConnectionFactory

或长时间等待 JDBC 连接。

原因:数据库不可达 / DNS 解析慢。


✅ DNS 解析慢

日志可能不明显,但启动卡在:

Starting ProtocolHandler ["http-nio-8080"]

解决

  • /etc/hosts 配置本机名
  • JVM 加:
-Djava.net.preferIPv4Stack=true

✅ 内存不足 / Swap

日志可能:

java.lang.OutOfMemoryError

或系统层面:

dmesg | grep oom

3. 快速判断方法

systemd-analyze blame
journalctl -u tomcat9 --since "10 min ago"

如果你愿意,把 catalina.out 或 journalctl 的相关片段 贴出来,我可以直接帮你定位是哪一步慢。

0