在 Debian 上优化 WebLogic Server,通常可以从 操作系统(Debian)、JVM、WebLogic 配置、应用与数据库 四个层面入手。下面给你一套较完整的优化思路,适用于生产环境。
编辑 /etc/sysctl.conf:
# 最大文件句柄
fs.file-max = 6815744
# 网络参数
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30
net.core.somaxconn = 4096
net.ipv4.ip_local_port_range = 1024 65535
生效:
sysctl -p
编辑 /etc/security/limits.conf:
weblogic soft nofile 65536
weblogic hard nofile 65536
weblogic soft nproc 4096
weblogic hard nproc 4096
确保使用
weblogic用户启动服务
systemctl disable bluetooth
systemctl disable cups
systemctl disable avahi-daemon
查看:
java -version
编辑 setDomainEnv.sh 或通过 Admin Console:
-Xms4096m
-Xmx4096m
-XX:MetaspaceSize=512m
-XX:MaxMetaspaceSize=512m
-XX:+UseG1GC
-XX:MaxGCPauseMillis=200
-XX:+DisableExplicitGC
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/opt/weblogic/logs
✅ 建议:
WebLogic 12c+(推荐)
路径:
Environment → Work Managers
建议:
路径:
Services → Data Sources → Connection Pool
推荐配置:
Initial Capacity: 10
Max Capacity: 100
Min Capacity: 10
Statement Cache Size: 50
Test Connections On Reserve: true
Test Frequency: 120
SQL 测试示例:
SELECT 1 FROM DUAL
Servers → Configuration → Tuning
在 Admin Console 禁用:
确保使用本地 IO 库:
$WL_HOME/server/native/linux
检查日志是否加载成功:
Native IO enabled
通过:
$DOMAIN_HOME/servers/AdminServer/logs
开启:
jps
jstat -gc
jstack
| 问题 | 优化方向 |
|---|---|
| CPU 高 | GC / 线程数 |
| 响应慢 | 连接池 / 线程阻塞 |
| OOM | JVM 堆 / Metaspace |
| 连接拒绝 | Accept Backlog / 文件句柄 |
OS: Debian 11
RAM: 32G
WebLogic: 12.2.1.4
JVM: 4G
连接池: 100
Accept Backlog: 2048
GC: G1
如果你愿意,可以告诉我:
我可以给你一套 精确参数模板。