在 CentOS 上运行 WebLogic 时,调优通常从 操作系统、JVM、WebLogic 自身参数、应用架构 四个层面入手。下面给你一套实用、可落地的调优思路(以 WebLogic 12c/14c + CentOS 7/8 为例)。
WebLogic 并发高时最容易遇到:
Too many open files
修改:
# 查看
ulimit -n
# 修改 /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
重新登录或重启生效。
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 65535
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30
vm.swappiness = 10
sysctl -p
systemctl disable firewalld # 测试环境
systemctl stop firewalld
(生产建议用 iptables 而非直接关)
文件路径:
$DOMAIN_HOME/bin/setDomainEnv.sh
示例(JDK 8):
USER_MEM_ARGS="-Xms4g -Xmx4g -XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=512m"
export USER_MEM_ARGS
建议:
-Xloggc:/logs/weblogic/gc.log
-XX:+PrintGCDetails
-XX:+PrintGCDateStamps
-XX:+UseG1GC
-XX:MaxGCPauseMillis=200
WebLogic 默认自动调整,不要手动改太多
可通过 Console:
Environment → Servers → Configuration → General
关注:
Services → Data Sources → Connection Pool
关键参数:
Server → Configuration → General → Advanced
✅ Use Native IO(Linux 性能更好)
生产环境:
WARNING 或 ERROR
不要开 Debug
Monitoring → Performance
jstat -gcutil <pid> 1000
top -Hp <pid>
jstack <pid> > thread.txt
如果你愿意,可以告诉我:
我可以直接给你一份可复制的调优配置。