在 CentOS 上优化 WebLogic,通常从 操作系统层面、JVM 层面、WebLogic 自身配置、数据库与网络、监控与调优 几个方面入手。下面给你一套实用、可落地的优化清单。
# 最大文件句柄
fs.file-max = 655360
# TCP 连接优化
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 0
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 300
net.core.somaxconn = 65535
net.core.netdev_max_backlog = 65535
# 虚拟内存
vm.swappiness = 10
执行:
sysctl -p
/etc/security/limits.conf
weblogic soft nofile 65535
weblogic hard nofile 65535
weblogic soft nproc 65535
weblogic hard nproc 65535
systemctl stop firewalld
systemctl disable firewalld
(生产环境建议用 iptables 或安全组代替)
示例(16G 内存服务器):
-Xms8g
-Xmx8g
-XX:MetaspaceSize=512m
-XX:MaxMetaspaceSize=1024m
JDK 8(推荐)
-XX:+UseG1GC
-XX:MaxGCPauseMillis=200
-XX:+PrintGCDetails
-XX:+PrintGCDateStamps
-Xloggc:/weblogic/logs/gc.log
JDK 11+
-XX:+UseZGC
# 或
-XX:+UseG1GC
Administration Console
Servers → 你的Server → Configuration → Threads
建议:
不要盲目调大,CPU 上下文切换会拖慢性能
Services → Data Sources → 连接池
推荐参数:
Server → Configuration → Tuning
✅ 勾选 Enable Native IO
Server → Protocols → HTTP
Server → Tuning
Accept Backlog = 1024
生产环境:
WARNING 或 ERROR
避免 DEBUG
| 问题 | 原因 | 解决 |
|---|---|---|
| CPU 高 | 线程数过大 | 降低线程池 |
| 内存涨 | 内存泄漏 | 分析 heap dump |
| 响应慢 | DB 慢 | 优化 SQL / 连接池 |
| TPS 低 | GC 频繁 | 调堆 / 换 GC |
16C32G 服务器
如果你愿意,可以告诉我:
我可以直接帮你写一套 具体参数模板。