在 Linux 上 WebLogic 启动慢 是非常常见的问题,通常不是代码问题,而是环境或配置问题。下面按「最常见 → 较少见」给你系统归纳原因和解决办法。
WebLogic / Java 启动时会大量使用随机数(SSL、Session 等)。
Linux 默认使用:
/dev/random
在熵不足时会阻塞等待,导致启动卡很久。
✅ 解决方法(强烈推荐):
编辑 setDomainEnv.sh 或 startWebLogic.sh,加 JVM 参数:
-Djava.security.egd=file:/dev/./urandom
或:
-Dsecure.random.source=file:/dev/urandom
✅ 验证是否生效:
cat /proc/sys/kernel/random/entropy_avail
数值长期很低(<100)就说明是这个问题。
WebLogic 启动时会解析本机 hostname。
如果:
/etc/hosts 没配会导致 DNS 超时,启动卡 1~5 分钟。
✅ 检查:
hostname
hostname -i
✅ 解决:
/etc/hosts 必须有:
127.0.0.1 localhost
192.168.x.x yourhostname
WebLogic 启动会非常慢。
✅ 检查:
free -h
top
✅ 建议:
Development 模式会:
✅ 解决: 改为 Production Mode:
Domain → Configuration → General → Production Mode
或在 config.xml:
<production-mode-enabled>true</production-mode-enabled>
启动时就部署大量应用会非常慢。
✅ 建议:
WebLogic 启动时会:
数据库不通 → 超时等待。
✅ 解决:
Initial Capacity = 0✅ 检查:
iostat -x 1
虽然一般不卡启动,但某些环境会导致:
# 1. 看启动卡在哪
tail -f servers/AdminServer/logs/AdminServer.log
# 2. 看 JVM 参数
ps -ef | grep java
# 3. 看系统资源
top
free -h
Linux 上 WebLogic 启动慢,90% 是:
/dev/random阻塞- hostname 没解析
- 或 Development 模式
如果你愿意,可以告诉我:
我可以帮你精确定位。