在 CentOS 下排查 WebLogic 问题,一般可以按「启动 → 日志 → 应用 → 系统资源 → 配置」这条主线来排错。下面给你一套实用排错思路和常用命令。
ps -ef | grep weblogic
或
ps -ef | grep java
没有进程,说明:
cd /u01/oracle/middleware/user_projects/domains/base_domain/bin
./startWebLogic.sh
⚠️ 不要直接后台启动,先前台跑,能看到最直接错误。
$DOMAIN_HOME/servers/AdminServer/logs/AdminServer.log
如果是被管节点:
$DOMAIN_HOME/servers/Server1/logs/Server1.log
$DOMAIN_HOME/servers/AdminServer/logs/AdminServer.out
常见错误:
OutOfMemoryErrorClassNotFoundExceptionPort already in usePermission deniednetstat -tunlp | grep 7001
或
ss -tunlp | grep 7001
端口被占用:
systemctl status firewalld
开放端口:
firewall-cmd --add-port=7001/tcp --permanent
firewall-cmd --reload
外网访问不了,90% 是防火墙。
id weblogic
启动用户不对:
chown -R weblogic:weblogic /u01/oracle
常见报错:
Permission deniedCannot create file检查:
ls -l $DOMAIN_HOME
cat $DOMAIN_HOME/bin/setDomainEnv.sh
关注:
-Xms
-Xmx
-XX:MaxPermSize / MetaspaceSize
grep -i "outofmemory" AdminServer.log
建议:
-XX:+PrintGCDetails -Xloggc:/tmp/gc.log
看:
AdminServer.log
常见原因:
ClassCastException
NoSuchMethodError
解决:
WEB-INF/lib检查:
config.xml 中 ListenAddress<listen-address></listen-address>
留空 = 所有网卡
top
free -m
df -h
磁盘满 → WebLogic 直接挂
ps 看进程startWebLogic.sh.out 和 .log如果你愿意,可以告诉我:
我可以直接帮你定位问题。