温馨提示×

tomcat启动慢看debian日志

小樊
39
2026-10-07 05:17:59
栏目: 智能运维

在 Debian 上排查 Tomcat 启动慢 的问题,可以按下面步骤看日志和定位原因。


一、Tomcat 自身日志(最重要)

Tomcat 的日志一般在:

/var/log/tomcat9/        # 以 tomcat9 为例

或

/opt/tomcat/logs/

重点看这几个文件:

catalina.out
catalina.yyyy-mm-dd.log
localhost.yyyy-mm-dd.log

查看启动耗时:

tail -n 200 /var/log/tomcat9/catalina.out

关注:

  • 哪一行之后卡了很久
  • 是否有 Deploying、Starting、Waiting

二、Debian 系统日志

1. 使用 journalctl(systemd)

如果 Tomcat 是用 systemd 启动的:

journalctl -u tomcat9 -b

实时看:

journalctl -u tomcat9 -f

2. 系统整体日志

tail -n 200 /var/log/syslog
dmesg | tail -n 100

重点看:

  • OOM(内存不足)
  • 磁盘 IO 异常
  • CPU 占用高

三、常见导致 Tomcat 启动慢的原因

1️⃣ 熵池不足(非常常见)

Tomcat / Java 启动时会用随机数:

INFO: Creation of SecureRandom instance took 12,345 ms

解决:

cat /proc/sys/kernel/random/entropy_avail

如果很小(< 1000):

apt install haveged
systemctl enable haveged
systemctl start haveged

或 JVM 参数:

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

2️⃣ 应用部署过多 / 初始化慢

看日志中:

Deploying web application directory [...]

逐个应用排查:

  • Spring 初始化
  • 数据库连接
  • 外部接口调用

3️⃣ 内存不足 / Swap

free -h
top

Tomcat 启动慢可能是:

  • 频繁 GC
  • 使用 Swap

调整:

/etc/default/tomcat9
JAVA_OPTS="-Xms512m -Xmx1024m"

4️⃣ 主机名 / DNS 解析慢

Java 会解析 hostname:

hostname
cat /etc/hosts

确保有:

127.0.0.1   localhost your-hostname

5️⃣ 数据库连接慢

看是否有:

Waiting for connection
Cannot connect to database

四、快速定位命令总结

# Tomcat 日志
tail -f /var/log/tomcat9/catalina.out

# 系统日志
journalctl -u tomcat9 -f

# 启动时间
systemd-analyze blame | grep tomcat

# 熵值
cat /proc/sys/kernel/random/entropy_avail

如果你愿意,可以把 catalina.out 中启动慢的那一段日志贴出来,我可以直接帮你判断是哪一种原因。

0 踩