CentOS 上 WebLogic 故障排查方法
一 快速定位流程
ps -ef | grep weblogic、netstat -tulpen | grep -E '7001|7002|5556'。curl http://localhost:7001/console 与远程 curl -vk https://host:7002/console 对比,区分网络与应用层问题。二 常见故障与处理要点
| 症状 | 快速检查 | 处理要点 |
|---|---|---|
| 启动失败或反复重启 | server.log 报异常;目录存在锁文件 | 删除锁文件:rm -f DOMAIN_HOME/servers/*/tmp/*.lok;必要时清理异常残留进程后再启 |
| 控制台访问慢或卡在登录后 | 登录后长时间无响应 | 调整 JVM 熵源:$JAVA_HOME/jre/lib/security/java.security 中设置 securerandom.source=file:/dev/./urandom |
| 启动极慢且无明显报错 | 诊断目录数据异常大 | 清理 data/diagnostics 下大文件(如 WLS_DIAGNOSTICS*.DAT),并在控制台降低 WLDF 采集级别 |
| 无法访问 http://host:7001/console | 端口未监听或被占用 | netstat 查占用;修改 config.xml 的 ListenPort 或释放占用进程 |
| Node Manager 启动失败 | nodemanager.log 报状态文件格式错误 | 删除 DOMAIN_HOME/servers/servername/data/nodemanager/*.state 后重启 NM |
| 数据库连接失败/连接池耗尽 | 应用报连接超时/获取连接失败 | 核查 JDBC URL、驱动、账号权限;检查连接池 最大连接数/超时/验证测试;确认数据库网络与防火墙可达 |
| 认证与启动身份异常 | 启动日志报 Authentication denied: Boot identity not valid |
更新 boot.properties(明文)后重启,首次会自动加密;必要时按官方流程重置管理密码 |
| OutOfMemoryError | server.log 或 stdout 出现 OOM | 区分 Java 堆 OOM 与 本机 OOM;采集 GC 日志/堆转储 分析;合理设置 -Xms/-Xmx,排查内存泄漏与线程/连接泄漏 |
三 日志与诊断信息收集
tail -f startWebLogic.log 观察启动阶段卡点与报错。journalctl -xe、/var/log/messages、/var/log/secure 排查系统资源、权限、SELinux、PAM、防火墙等引发的间接问题。data/diagnostics 目录大小,必要时降低采集级别或清理历史数据。四 网络与系统层面的排查
ping、traceroute、curl -I 验证到数据库与应用前端/后端的路径与返回码。ss -lntp | grep -E '7001|7002|5556',确认监听地址为 0.0.0.0(如需远程访问),而非仅 127.0.0.1。firewall-cmd --list-all 与 getenforce,按需放行 7001/7002/5556 等端口或临时置 SELINUX=permissive 验证。nslookup/dig 确认域名解析正确,避免因解析慢导致控制台/应用初始化延迟。free -m、df -h、ulimit -a、ps -o pid,vsz,comm -p <WLS_PID> 检查内存、磁盘、句柄与虚拟内存是否受限。五 性能与稳定性优化建议
securerandom.source=file:/dev/./urandom。