在 CentOS 上 WebLogic 启动慢 是一个比较常见的问题,通常不是单一原因,而是多个因素叠加。下面按最常见原因 → 排查与解决办法来说明。
WebLogic / Java 启动时会大量使用随机数(SSL、Session、加密等)。
CentOS 默认使用:
/dev/random
当熵池不足时,会阻塞等待,导致启动极慢。
✅ 表现:
Starting WebLogic Server✅ 解决办法(推荐):
修改 setDomainEnv.sh 或 startWebLogic.sh:
JAVA_OPTIONS="$JAVA_OPTIONS -Djava.security.egd=file:/dev/./urandom"
或者全局修改 java.security:
vi $JAVA_HOME/jre/lib/security/java.security
securerandom.source=file:/dev/urandom
WebLogic 启动时会解析本机 hostname。
如果:
/etc/hosts 没有配置会导致 DNS 超时,非常慢。
✅ 检查:
hostname
hostname -i
✅ 正确示例 /etc/hosts:
127.0.0.1 localhost
192.168.1.10 weblogic1
⚠️ 不要只写 127.0.0.1 hostname
✅ 临时排查:
setenforce 0
systemctl stop firewalld
✅ 生产环境应正确放通端口,而不是长期关闭
✅ 建议:
-Xms1024m -Xmx1024m
查看:
ps -ef | grep java
建议开启:
-XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:/logs/gc.log
✅ 排查:
domains/xxx/autodeploy日志常见:
Connection refused
Timeout waiting for server
✅ 检查:
iostat -x 1
NTP 未同步,证书、集群异常
date
timedatectl
[ ] /dev/urandom 已配置
[ ] /etc/hosts 正确
[ ] hostname 可解析
[ ] 防火墙/SELinux 已排查
[ ] JVM 内存合理
[ ] 应用启动无阻塞
你可以贴出:
我可以直接帮你定位是哪一步慢。