温馨提示×

centos上weblogic的故障排查步骤有哪些

小樊
43
2025-09-18 03:02:28
栏目: 智能运维

CentOS上WebLogic故障排查步骤

1. 检查故障类型

首先明确故障范围,分为三类:硬件问题(CPU、内存、磁盘空间不足)、软件问题(WebLogic配置错误、应用程序代码缺陷、依赖库缺失)、网络问题(端口冲突、网络连接中断)。这一步有助于快速定位排查方向。

2. 查看日志文件

日志是故障排查的核心依据,需检查以下日志:

  • WebLogic日志:位于DOMAIN_HOME/servers/server_name/logs目录下,重点关注AdminServer.outserver_name.outserver_name.log(记录启动错误、应用部署异常、请求处理失败等);
  • 系统日志/var/log/messages/var/log/syslog(记录系统级错误,如磁盘满、内存溢出)。
    使用grep命令快速查找关键字(如ERRORException),定位具体错误信息。

3. 检查进程与服务状态

  • 使用ps -ef | grep weblogic确认WebLogic进程是否运行;
  • 使用systemctl status weblogic(若配置为systemd服务)检查服务状态;
  • 若进程未运行,尝试启动服务(systemctl start weblogic)并观察启动日志。

4. 网络诊断

  • 端口冲突检查:使用netstat -tulnp | grep <端口号>(如7001、5556)或lsof -i :<端口号>,确认WebLogic使用的端口未被其他应用占用;
  • 网络连通性测试:使用ping(检查网络可达性)、traceroute(追踪路由路径)、telnet <IP> <端口>(测试端口连通性);
  • 防火墙设置:使用iptables -L(CentOS 7前)或firewall-cmd --list-all(CentOS 7+)检查防火墙规则,确保WebLogic端口开放。

5. 配置文件检查

重点检查以下配置文件的正确性:

  • config.xml:WebLogic域的核心配置文件(位于DOMAIN_HOME/config),确认监听端口、集群配置、数据源配置无误;
  • boot.properties:节点管理器或AdminServer的认证文件(位于DOMAIN_HOME/servers/AdminServer/security),确保用户名、密码正确且文件权限为600(仅owner可读写);
  • setDomainEnv.sh:环境变量配置文件(位于DOMAIN_HOME/bin),确认JAVA_HOME路径正确、JVM内存参数(-Xms-Xmx)设置合理。

6. 系统资源检查

  • 内存使用:使用free -m查看内存剩余量,若内存不足,调整setDomainEnv.sh中的JVM内存参数(如-Xms2048m -Xmx4096m);
  • CPU使用:使用tophtop查看CPU占用率,若某进程占用过高,可能是应用代码缺陷或线程池配置不当;
  • 磁盘空间:使用df -h查看磁盘剩余空间,若/DOMAIN_HOME所在分区空间不足,清理无用文件(如日志、临时文件)。

7. JVM与内存问题排查

  • 内存泄漏排查:若出现java.lang.OutOfMemoryError,使用jmap -heap <pid>查看堆内存使用情况,jstack <pid>获取线程转储,分析内存泄漏点;使用jstat -gcutil <pid> 1000 10(每1秒输出1次,共10次)监控GC情况,确认GC频率是否过高;
  • 开启OOM快照:在setDomainEnv.sh中添加-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/path/to/dump.hprof,崩溃时自动生成堆转储文件,便于后续分析。

8. 线程与死锁排查

  • 线程阻塞检查:若请求响应缓慢,使用jstack <pid>获取线程转储,分析线程状态(如BLOCKEDWAITING),定位死锁或线程阻塞点;
  • 线程池优化:通过WebLogic控制台(Domainname→Servers→servername→Monitoring→Threads)查看线程池使用情况,调整ExecuteThreadTotal(总线程数)参数(建议每个CPU核心分配25-50个线程)。

9. 应用部署问题排查

  • 重新部署应用:若应用部署失败,删除DOMAIN_HOME/servers/AdminServer/tmpDOMAIN_HOME/servers/AdminServer/cache目录下的临时文件,重新上传并部署WAR/EAR包;
  • 检查应用依赖:确认应用所需的JAR包已正确放置在WEB-INF/lib目录下,无版本冲突或缺失。

10. 性能调优

  • JVM调优:根据应用负载调整JVM参数(如-Xms-Xmx-XX:NewRatio-XX:SurvivorRatio),选择合适的垃圾回收器(如G1GC);
  • WebLogic配置优化:调整连接池参数(InitialCapacityMaxCapacity)、线程池大小、缓存设置(如weblogic.cache.Enabled);
  • 操作系统调优:修改/etc/security/limits.conf增加文件描述符限制(如weblogic soft nofile 65535weblogic hard nofile 65535),优化TCP参数(如net.ipv4.tcp_tw_reuse=1net.ipv4.tcp_fin_timeout=30)。

0