日志是故障排查的核心依据,WebLogic的日志文件集中记录了启动、运行及错误信息。
${DOMAIN_HOME}/logs/domain.log
(全局域日志);${DOMAIN_HOME}/servers/${SERVER_NAME}/logs/server.log
(单个服务器实例日志);${DOMAIN_HOME}/servers/${SERVER_NAME}/logs/access.log
(HTTP/HTTPS请求日志)。tail -f server.log
实时查看最新日志,通过grep "ERROR"
或grep "Exception"
过滤关键错误信息(如java.lang.OutOfMemoryError
、Port already in use
等)。WebLogic依赖JDK运行,JDK版本不兼容或环境变量配置错误会导致启动失败。
java -version
,确认安装的JDK版本符合WebLogic要求(如WebLogic 12c及以上需要Java 8+);JAVA_HOME
是否指向正确JDK路径(如/usr/java/jdk1.8.0_391
),PATH
中是否包含$JAVA_HOME/bin
;WebLogic默认使用7001(HTTP)、7002(HTTPS)等端口,若端口被其他进程占用,会导致启动失败。
netstat -tulnp | grep 7001
(替换为目标端口),查看占用端口的进程ID(PID);kill -9 PID
;${DOMAIN_HOME}/config/config.xml
中的<port>
标签,更换为未被占用的端口(如7003)。配置文件错误(如XML语法错误、路径错误)会导致WebLogic无法启动或运行异常。
config.xml
(域核心配置,如服务器实例、集群、数据源);boot.properties
(管理员账户密码,用于无密码启动);setDomainEnv.sh
(环境变量配置,如JDK路径、内存参数)。xmllint --noout config.xml
验证XML语法;检查配置文件中的路径(如日志目录、数据源JDBC URL)是否存在或正确。系统资源不足(CPU、内存、磁盘空间)会导致WebLogic响应缓慢或崩溃。
top
:实时查看CPU、内存使用率(按M
按内存排序,按P
按CPU排序);free -h
:查看内存及交换分区(Swap)使用情况;df -h
:查看磁盘空间使用情况(重点关注/
根目录和日志目录所在分区);vmstat 1 5
:每1秒采样1次,共5次,查看系统整体资源使用情况(如CPU空闲率、内存交换次数)。-Xms
、-Xmx
参数);若磁盘空间不足,清理日志或临时文件。若WebLogic运行缓慢或出现超时,需分析性能瓶颈(如线程池、JVM、数据库连接池)。
http://IP:7001/console
),导航至“Servers→${SERVER_NAME}→Monitoring→Threads”,查看“当前线程数”是否接近“最大线程数”(若接近,需增加ExecuteThreadTotalCPUUsage
或ExecuteThreadTotalIOUsage
参数值);jstat -gcutil PID 1000 5
查看GC情况(若FGC
(Full GC)次数频繁,需调整堆内存或优化应用);使用jmap -heap PID
查看堆内存分配(如老年代占比是否过高);Max Capacity
参数值);WebLogic运行时需要对相关目录(如日志、配置、临时目录)有读写权限,权限不足会导致启动失败。
weblogic
)对以下目录有读写权限:
${DOMAIN_HOME}/logs
(日志目录);${DOMAIN_HOME}/config
(配置文件目录);${DOMAIN_HOME}/servers/${SERVER_NAME}/tmp
(临时文件目录);${DOMAIN_HOME}/servers/${SERVER_NAME}/cache
(缓存目录)。chown -R weblogic:weblogic ${DOMAIN_HOME}
修改目录所有者,或使用chmod -R 755 ${DOMAIN_HOME}
修改目录权限。WebLogic启动时会创建锁定文件(如edit.lok
、config.lok
),若启动中断(如强制kill进程),这些文件可能残留,导致下次启动卡住。
${DOMAIN_HOME}/servers/${SERVER_NAME}/data
目录,删除edit.lok
、config.lok
等锁定文件;ps -ef | grep weblogic
确认)。若常规方法无法定位问题,可启用WebLogic调试模式,获取更详细的日志信息。
${DOMAIN_HOME}/config/config.xml
,在<server>
标签内添加<ServerDebug enabled="true">
;DebugHttp
、DebugEjb
);若以上步骤均无法解决问题,建议收集以下信息并联系Oracle官方支持:
server.log
、domain.log
);