在 CentOS 下对 WebLogic 进行调优,通常分为 操作系统层面、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/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
减少系统资源占用(如 postfix、cups 等)
WebLogic 一般使用 Oracle JDK / OpenJDK
$DOMAIN_HOME/bin/setDomainEnv.sh
-Xms4g
-Xmx4g
-XX:MetaspaceSize=256m
-XX:MaxMetaspaceSize=512m
⚠ 生产环境 Xms = Xmx,避免动态扩容
-XX:+UseParallelGC
# 或
-XX:+UseConcMarkSweepGC
-XX:+UseG1GC
-Xloggc:/logs/weblogic/gc.log
-XX:+PrintGCDetails
-XX:+PrintGCDateStamps
Console → 服务器 → 配置 → 线程池
推荐:
示例(8核):
Minimum Capacity: 16
Maximum Capacity: 200
Console → 服务 → JDBC → 数据源
Initial Capacity: 10
Max Capacity: 50~100
Min Capacity: 10
Inactive Connection Timeout: 300
java.nio.channels.spi.SelectorProvider
WebLogic 默认使用 native socket,确保未被禁用
<session-config>
<session-timeout>30</session-timeout>
</session-config>
Console → 服务器 → 协议 → HTTP → 勾选 GZIP
jstack <pid> > thread.txt
jmap -heap <pid>
开启:
Admin Console → 诊断 → 请求性能
-Xms8g
-Xmx8g
-XX:MetaspaceSize=256m
-XX:MaxMetaspaceSize=512m
-XX:+UseG1GC
-Xloggc:/logs/weblogic/gc.log
线程池:
JDBC:
如果你能提供:
我可以给你 更精准的调优参数。