在 Debian 上调试 WebLogic,通常可以从日志、启动参数、JVM 调试、线程/内存分析几个层面入手。下面按常见场景给你一个实用指南。
WebLogic 主要日志位置(假设域在 DOMAIN_HOME):
$DOMAIN_HOME/servers/AdminServer/logs/AdminServer.log
$DOMAIN_HOME/servers/AdminServer/logs/AdminServer.out
多服务器环境:
$DOMAIN_HOME/servers/<ServerName>/logs/<ServerName>.log
实时查看:
tail -f $DOMAIN_HOME/servers/AdminServer/logs/AdminServer.out
Administration Console →
Environment → Servers → Log → General
把 Severity 调为 Debug
或修改:
$DOMAIN_HOME/config/config.xml
编辑:
$DOMAIN_HOME/bin/setDomainEnv.sh
在末尾添加:
export JAVA_OPTIONS="$JAVA_OPTIONS -Xdebug -Xrunjdwp:transport=dt_socket,address=8453,server=y,suspend=n"
然后启动:
$DOMAIN_HOME/bin/startWebLogic.sh
Debian 防火墙注意开放 8453:
sudo ufw allow 8453
Run → Edit ConfigurationsRemote JVM Debug适合排查:
jps
jstack <pid> > thread.txt
分析:
BLOCKEDWAITING启动参数加:
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/var/log/weblogic/heapdump.hprof
分析工具:
$DOMAIN_HOME/bin/wlst.sh
示例:
connect('weblogic','password','t3://localhost:7001')
state('AdminServer')
Diagnostics → Diagnostic Modules
可开启:
WebLogic 易报:
too many open files
查看:
ulimit -n
修改:
/etc/security/limits.conf
weblogic soft nofile 65536
weblogic hard nofile 65536
示例:
[Unit]
Description=WebLogic AdminServer
[Service]
User=weblogic
ExecStart=/u01/oracle/user_projects/domains/base_domain/bin/startWebLogic.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
| 问题 | 方法 |
|---|---|
| 启动卡住 | -Xdebug + IDE |
| 请求慢 | 线程 dump |
| OOM | HeapDump |
| 类冲突 | -verbose:class |
| 端口占用 | netstat -tunlp |
如果你能告诉我:
我可以直接给你针对性调试命令和参数。