在 Debian 上运行 WebLogic Server 时,调优通常从 操作系统、JVM、WebLogic 自身参数、应用层面 四个方面入手。下面按实战角度给你一套较完整的调优思路。
WebLogic 连接数高时容易报 too many open files
# 查看
ulimit -n
# 临时修改
ulimit -n 65535
# 永久修改
vi /etc/security/limits.conf
weblogic soft nofile 65535
weblogic hard nofile 65535
并确保:
vi /etc/pam.d/common-session
session required pam_limits.so
编辑 /etc/sysctl.conf:
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30
sysctl -p
systemctl disable bluetooth
systemctl disable avahi-daemon
WebLogic 通常使用 Oracle JDK / OpenJDK(HotSpot)
编辑:
$DOMAIN_HOME/bin/setDomainEnv.sh
示例(8G 内存机器):
USER_MEM_ARGS="-Xms4g -Xmx4g -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m"
export USER_MEM_ARGS
✅ 建议:
-Xms = -Xmx(避免动态扩容)-XX:+UseParallelGC
# 或
-XX:+UseG1GC
-XX:+UseG1GC
G1 示例:
-XX:+UseG1GC
-XX:MaxGCPauseMillis=200
-XX:+PrintGCDetails
-Xloggc:/logs/weblogic/gc.log
-XX:ThreadStackSize=256k
路径:
Console → 服务器 → 配置 → 线程池
建议:
例如 8 核:
Minimum 16
Maximum 200
服务器 → 配置 → 调整
Accept Backlog = 1024
服务 → JDBC → 数据源 → 连接池
建议:
初始容量 = 10
最大容量 = 100
最小容量 = 10
并开启:
服务器 → 配置 → 调整
启用 Native IO = true
Debian 需安装:
apt install libaio1
服务器 → 协议 → HTTP
jstack <pid>
jstat -gcutil <pid> 1000
Console → 监控 → 线程 / JDBC / JVM
-Xms8g -Xmx8g
-XX:+UseG1GC
-XX:MaxGCPauseMillis=200
-Xloggc:/logs/gc.log
WebLogic:
如果你愿意,可以告诉我:
我可以给你一套针对性配置文件。