如何解决centos中weblogic启动慢
导读:CentOS 上 WebLogic 启动慢的定位与优化 一、最常见根因 随机数生成阻塞 现象:启动或创建域时长时间卡住,常见于日志停在安全/随机数初始化阶段,甚至需要数分钟才继续。根因是 JDK 默认使用 /dev/random,在熵池不...
CentOS 上 WebLogic 启动慢的定位与优化
一、最常见根因 随机数生成阻塞
- 现象:启动或创建域时长时间卡住,常见于日志停在安全/随机数初始化阶段,甚至需要数分钟才继续。根因是 JDK 默认使用 /dev/random,在熵池不足时会阻塞;切换到 /dev/urandom 可显著改善。
- 快速验证:执行命令观察是否阻塞
- head -n 1 /dev/random
- 若命令迟迟不返回,多半是熵不足导致的随机数阻塞。
二、三种解决方案 按影响范围与安全性选择
-
方案A 仅对当前域生效(推荐先行验证)
- 修改域目录下的启动脚本:
- 文件路径:DOMAIN_HOME/bin/setDomainEnv.sh
- 在文件末尾加入(注意使用“/dev/./urandom”绕过JDK的简写校验):
- JAVA_OPTIONS=“${ JAVA_OPTIONS} -Djava.security.egd=file:/dev/./urandom”
- export JAVA_OPTIONS
- 重启观察启动时长是否恢复正常。
- 修改域目录下的启动脚本:
-
方案B 对所有使用该 JDK 的应用生效(永久生效)
- 修改 JDK 安全配置文件:
- 文件路径:$JAVA_HOME/jre/lib/security/java.security
- 将
- securerandom.source=file:/dev/random 替换为
- securerandom.source=file:/dev/./urandom
- 说明:部分早期 JDK/平台需用“/dev/./urandom”形式才会真正生效。
- 修改 JDK 安全配置文件:
-
方案C 系统层面软链接替换(风险最高,不推荐)
- 执行:
- mv /dev/random /dev/random.ORIG
- ln -s /dev/urandom /dev/random
- 风险提示:全局替换可能影响系统其他依赖强随机性的组件,仅在隔离环境或充分评估后使用。
- 执行:
三、若仍未改善 继续排查与优化
- JVM 内存与 GC
- 在 setDomainEnv.sh 中合理设置堆与GC参数,建议 -Xms 与 -Xmx 等值,减少运行期扩缩堆带来的停顿;可按CPU核数设置并行GC线程数,例如:
- USER_MEM_ARGS=“-Xms4096m -Xmx4096m -XX:+UseParallelGC -XX:ParallelGCThreads=8”
- export USER_MEM_ARGS
- 在 setDomainEnv.sh 中合理设置堆与GC参数,建议 -Xms 与 -Xmx 等值,减少运行期扩缩堆带来的停顿;可按CPU核数设置并行GC线程数,例如:
- 运行模式
- 将域切换为产品模式(生产环境推荐),默认队列与连接池等更偏向性能与稳定。
- 启动免密与自动化
- 在 servers/AdminServer/security/boot.properties 中配置用户名与密码,避免交互输入带来的脚本等待与人为延迟。
- 系统资源与基础环境
- 检查 内存/CPU/磁盘IO/网络 是否存在瓶颈;磁盘IO差或网络抖动也会导致启动阶段显著变慢,必要时先做资源与IO优化。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何解决centos中weblogic启动慢
本文地址: https://pptw.com/jishu/775302.html
