Linux上 WebLogic 调优实战指南
一 基线评估与目标设定
二 操作系统与网络层调优
ulimit -n;在/etc/security/limits.conf中设置如:* soft nofile 10240、* hard nofile 10240;在/etc/pam.d/login加入session required pam_limits.so;系统级上限查看:cat /proc/sys/fs/file-max。vm.dirty_ratio、vm.dirty_background_ratio)以平衡I/O与稳定性。net.ipv4.ip_local_port_range = 1024 65535。net.core.somaxconn、net.core.netdev_max_backlog。net.ipv4.tcp_keepalive_time等)以更快回收异常空闲连接。net.netfilter.nf_conntrack_max(注意内存占用)。三 JVM 与 WebLogic 服务器参数
-Xms8g -Xmx8g),避免运行期扩缩堆带来的抖动;堆占用建议不超过物理内存的70%**。-XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m;Java 7 及以下配置PermGen:如-XX:PermSize=… -XX:MaxPermSize=…。-XX:+UseParallelGC -XX:+UseParallelOldGC -XX:ParallelGCThreads=N(N≈CPU核数)。-XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:G1ReservePercent=15 -XX:InitiatingHeapOccupancyPercent=35。-XX:+UseZGC 或 -XX:+UseShenandoahGC。-XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:/path/gc_%t.log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/path/dumps。setDomainEnv.sh中设置USER_MEM_ARGS或通过控制台“服务器 → 配置 → 服务器启动 → 参数”添加JVM参数。四 监控验证与常见陷阱
jstat -gc <pid> 1000、jmap -heap <pid>、jstack <pid>分析GC频率/停顿、堆使用、线程栈。top/vmstat/iostat定位CPU瓶颈、内存压力、I/O等待。五 快速参考配置示例
fs.file-max = 655350net.core.somaxconn = 4096net.core.netdev_max_backlog = 8096net.ipv4.ip_local_port_range = 1024 65535net.ipv4.tcp_tw_reuse = 1、net.ipv4.tcp_tw_recycle = 0(谨慎使用recycle)net.ipv4.tcp_keepalive_time = 1800、net.ipv4.tcp_keepalive_intvl = 30、net.ipv4.tcp_keepalive_probes = 3net.ipv4.tcp_fin_timeout = 30vm.swappiness = 10net.netfilter.nf_conntrack_max = 524288-Xms8g -Xmx8g -Xmn3g -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m-XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:G1ReservePercent=15 -XX:InitiatingHeapOccupancyPercent=35-XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:/opt/weblogic/logs/gc_%t.log-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/weblogic/dumps