WebLogic 在 CentOS 上启动慢,通常不是单一原因,而是 操作系统、JVM、WebLogic 本身配置 共同作用的结果。下面按 最常见 → 较少见 的顺序给你系统性的排查思路。
WebLogic / JVM 启动时会大量使用 随机数(/dev/random),而 CentOS 默认 entropy 很低,会直接卡死。
Initializing WebLogic ServerStarting DerbySecureRandomcat /proc/sys/kernel/random/entropy_avail
如果小于 200~300,基本就是它。
修改 JVM 参数,使用 /dev/urandom:
-Djava.security.egd=file:/dev/./urandom
✅ 推荐加到:
setDomainEnv.sh
或
JAVA_OPTIONS="$JAVA_OPTIONS -Djava.security.egd=file:/dev/./urandom"
WebLogic 启动时大量依赖 hostname 解析。
Server state changed to STARTINGhostname
hostname -f
cat /etc/hosts
127.0.0.1 localhost
192.168.1.10 weblogic1
⚠️ 一定要保证:
hostname 能在 /etc/hosts 中解析127.0.0.1ps -ef | grep java
-Xms512m -Xmx1024m
domain/autodeploy
WebLogic 会尝试反向解析 IP。
cat /etc/resolv.conf
getenforce
setenforce 0
iostat -x 1
tail -f domain/servers/AdminServer/logs/AdminServer.log
-verbose:gc
| 原因 | 是否常见 | 解决 |
|---|---|---|
| entropy 不足 | ⭐⭐⭐⭐⭐ | urandom |
| hosts 配置错误 | ⭐⭐⭐⭐ | 修正 hosts |
| JVM 内存 | ⭐⭐⭐ | 调整内存 |
| DNS | ⭐⭐⭐ | 检查 resolv.conf |
| SELinux | ⭐⭐ | 关闭 |
| 应用过多 | ⭐⭐ | 精简 |
如果你愿意,可以把下面信息发我,我可以 精准判断:
entropy_avail 的值我可以直接给你 最优参数配置。