首页主机资讯Ubuntu下WebLogic的故障排查技巧有哪些

Ubuntu下WebLogic的故障排查技巧有哪些

时间2025-12-17 02:39:04发布访客分类主机资讯浏览1425
导读:Ubuntu下WebLogic故障排查技巧 一 日志与信息收集优先 定位并实时查看日志:进入域目录 $DOMAIN_HOME/logs,使用命令如:tail -f server.log、tail -f startWebLogic.log,...

Ubuntu下WebLogic故障排查技巧

一 日志与信息收集优先

  • 定位并实时查看日志:进入域目录 $DOMAIN_HOME/logs,使用命令如:tail -f server.log、tail -f startWebLogic.log,或用 grep 检索关键字(如“ERROR”“Exception”)。这些日志能最快反映启动失败、部署异常、类冲突等问题。
  • 启动时开启 GC 日志并重定向输出:在启动脚本或命令行加入 -verbose:gc,并将 stdout/stderr 重定向到文件(例如:> > server.out 2> & 1),便于后续分析内存与停顿。
  • 发生“卡住/挂起/疑似死锁”时,采集多次线程转储:在运行中按 **Ctrl+**(或 kill -3 )获取线程 dump;对集群问题,建议每个节点采集多份、间隔一段时间,形成可诊断的日志集。
  • 若需远程排障,可临时开启调试端口(示例):在 setDomainEnv.sh 中加入 JAVA_OPTIONS=“-Xrunjdwp:transport=dt_socket,address=8453,server=y,suspend=n”,重启后在 IDE 远程调试。

二 常见故障快速定位与修复

  • 端口冲突导致无法访问控制台:检查监听端口(常见为 7001/7002)是否被占用(如 netstat -an | grep 7001),若冲突则释放占用进程或修改 config.xmlListenPort
  • 启动或登录异常缓慢:JDK 在 Linux 上可能因 /dev/random 阻塞导致熵不足,可在启动参数加入 -Djava.security.egd=file:/dev/./urandom,或在 $JAVA_HOME/jre/lib/security/java.security 将 securerandom.source 改为 file:/dev/./urandom
  • 无法获取文件锁(.lok):说明同域目录已有实例在运行或异常退出残留锁。删除对应 .lok(如 AdminServer.lok、m1.lok),必要时清理 tmp 目录后再启动。
  • Node Manager 启动失败且报 “Invalid state file format”:删除域目录 servers//data/nodemanager/.state 后重启 Node Manager。
  • 管理控制台登录缓慢或卡顿:除熵源外,检查浏览器缓存、清理控制台临时文件、确认网络延迟与后端数据源健康。
  • 权限问题导致启动/部署失败:确保 $DOMAIN_HOME 及子目录属主与启动用户一致,避免因权限不足导致无法写日志、读配置或访问目录。

三 运行期问题定位与性能分析

  • 线程与内存分析:使用 jstack 抓取线程栈定位死锁/阻塞;使用 jmap 查看堆内存与对象分布,必要时配合可视化工具分析泄漏趋势。
  • 系统资源瓶颈:用 top/vmstat/iostat 观察 CPU、内存、磁盘 I/O、网络 是否成为瓶颈,结合 GC 日志判断是否存在频繁 Full GC 或长停顿。
  • 数据库连接与连接池:核查 JDBC URL、驱动版本(如 ojdbc6)、账号口令、网络连通性与防火墙;在控制台检查连接池 Initial/Max Capacity、Timeout、Test Connections on Reserve 等参数是否合理。
  • 类加载与依赖冲突:应用报 NoSuchMethodError/NoClassDefFoundError 等,多为依赖冲突。可在 weblogic.xml 使用 指定优先加载应用包(如 javassist、javax.persistence、org.apache.commons 等),避免与 WebLogic 自带模块冲突。
  • 日志框架冲突:若项目使用 slf4j/log4j/logback,需保证绑定唯一并配置正确的 log4j.xml/logback.xml;WebLogic 自带日志实现可能与应用冲突,必要时在 weblogic.xml 中显式声明。

四 Ubuntu与Linux环境的专项检查

  • 文件句柄与进程数限制:检查 ulimit -n/-u,必要时在 /etc/security/limits.conf/etc/security/limits.d/ 提升 nofile/nproc,避免因资源限制导致启动失败或运行中异常。
  • 防火墙与端口放行:确认 iptables/ufw 已放行 WebLogic 监听端口(如 7001/7002)及集群通信端口,避免因策略阻断导致访问或节点互联失败。
  • 权限与目录属主:域目录、日志目录、临时目录需与 启动用户 一致,避免因权限不足导致无法写 server.log、tmp、cache 等。
  • 环境一致性:确保 JAVA_HOME 指向受支持的 JDK,避免混用不同厂商/版本的 JDK 引发兼容性问题。

五 一键排查清单与常用命令

  • 快速清单
    1. 查看实时日志:tail -f $DOMAIN_HOME/logs/server.log
    2. 检查端口:ss -ltnp | grep 7001 或 netstat -an | grep 7001
    3. 清理锁文件:rm servers//tmp/.lok(谨慎操作)
    4. 采集线程 dump:kill -3 (多次、间隔采集)
    5. 线程/内存分析:jstack ;jmap -heap
    6. 资源监控:top/vmstat 1 10;iostat -x 1 10
    7. 数据库连接:tnsping/ nc -vz < DB_HOST> < DB_PORT> ;检查驱动与连接池配置
    8. 启动参数优化:加入 -Djava.security.egd=file:/dev/./urandom;必要时开启 -verbose:gc 并重定向输出
  • 常用命令示例
    • 查看进程与端口:ps -ef | grep weblogic;ss -ltnp | grep 7001
    • 清理锁与缓存:find $DOMAIN_HOME/servers -name ".lok" -delete;rm -rf **$DOMAIN_HOME/servers//tmp/* $DOMAIN_HOME/servers//cache/
    • 远程调试:在 setDomainEnv.sh 增加 JAVA_OPTIONS=“-Xrunjdwp:transport=dt_socket,address=8453,server=y,suspend=n”

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu下WebLogic的故障排查技巧有哪些
本文地址: https://pptw.com/jishu/773544.html
如何在Ubuntu上定制WebLogic应用部署 Ubuntu下WebLogic的安全设置有哪些

游客 回复需填写必要信息