在 Debian 系统上调试 WebLogic,通常可以从启动参数、日志、远程调试、线程/内存分析几个层面来做。下面按常见场景说明。
WebLogic 启动脚本一般在:
$DOMAIN_HOME/bin/startWebLogic.sh
在 startWebLogic.sh 中,找到:
JAVA_OPTIONS="${JAVA_OPTIONS}"
加入调试参数(示例端口 8453):
JAVA_OPTIONS="${JAVA_OPTIONS} -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8453,server=y,suspend=n"
suspend=n:启动不阻塞
suspend=y:启动时等待 IDE 连接(适合排查启动问题)
$DOMAIN_HOME/bin/stopWebLogic.sh
$DOMAIN_HOME/bin/startWebLogic.sh
$DOMAIN_HOME/servers/AdminServer/logs/
关键文件:
AdminServer.logaccess.logserver.log实时查看:
tail -f $DOMAIN_HOME/servers/AdminServer/logs/AdminServer.log
WebLogic Console:
Environment → Servers → <Server> → Logging → General
将级别调为 Debug
jps -l
或
ps -ef | grep weblogic
jstack <pid>
jmap -heap <pid>
jmap -histo <pid> | head
生成 dump(OOM 分析):
jmap -dump:live,format=b,file=/tmp/heap.hprof <pid>
用 MAT / VisualVM 分析。
cd $WL_HOME/common/bin
./wlst.sh
示例:
connect('weblogic','password','t3://localhost:7001')
serverRuntime()
ulimit -n
建议:
ulimit -n 65535
dpkg-reconfigure tzdata
在 JAVA_OPTIONS 加:
-Dfile.encoding=UTF-8
| 问题 | 方法 |
|---|---|
| 启动失败 | suspend=y + IDE 调试 |
| 接口慢 | jstack 看线程 |
| OOM | jmap dump + MAT |
| 类冲突 | -verbose:class |
| 配置问题 | AdminServer.log |
如果你能告诉我:
我可以给你更针对性的调试步骤。