一、内存资源分配策略
内存是WebLogic运行的核心资源,合理分配可避免内存溢出(OOM)或浪费。需结合Debian系统内存大小(通过free -h查看)调整:
startWebLogic.sh)或Domain配置文件(config.xml)设置堆内存。常用参数为-Xms(初始堆大小)和-Xmx(最大堆大小),建议设置为相同值以减少GC次数(如-Xms1024m -Xmx1024m)。若为64位系统,可分配物理内存的60%~80%(如16GB内存可设为10GB~12GB);32位系统则不超过1.5GB。cat /proc/meminfo | grep Huge);② 临时配置(sudo sysctl -w vm.nr_hugepages=1024,1024页对应2MB~1GB内存);③ 修改启动脚本(export JAVA_OPTIONS="$JAVA_OPTIONS -XX:+UseLargePages");④ 永久生效(将vm.nr_hugepages添加至/etc/sysctl.conf)。-XX:NewRatio设置新生代与老年代比例(如-XX:NewRatio=2表示新生代占堆的1/3),或通过-XX:SurvivorRatio设置Eden区与Survivor区比例(如-XX:SurvivorRatio=8表示Eden区占新生代的8/10)。二、CPU资源分配策略
CPU资源影响WebLogic的并发处理能力,需根据CPU核心数调整线程池大小:
config.xml修改线程池参数:<thread-pool-params>["否", "max-threads=200", "min-threads=10", "queue-capacity=100"]</thread-pool-params>(max-threads为最大线程数,min-threads为最小线程数,queue-capacity为队列容量,避免无限制排队)。nice和renice命令调整WebLogic进程的CPU优先级。例如,启动时用nice -n 10 ./startWebLogic.sh降低优先级(数值越大优先级越低),避免占用过多CPU;若需提高优先级,用renice -n -5 -p <PID>(<PID>为WebLogic进程ID)。三、磁盘资源分配策略
磁盘I/O影响WebLogic的启动速度和日志写入性能:
df -h查看磁盘使用情况,确保/(根分区)和/u01(WebLogic安装目录)有足够空间(建议预留20%以上空闲空间),避免因空间不足导致服务崩溃。/、/u01、/var),推荐使用ext4或XFS文件系统(XFS支持更大文件和高并发,适合大数据量场景)。挂载时可添加noatime选项(减少访问时间更新,提升性能)。Log4j的DEBUG级别),将日志级别调整为INFO或WARN;将日志文件存储到单独的分区(如/var/log/weblogic),避免占用系统分区空间。四、网络资源分配策略
网络带宽和连接数影响WebLogic的对外服务能力:
config.xml修改Accept Backlog(监听队列长度)和Max Connections(最大连接数)。例如,Accept Backlog设置为500~1000(避免连接请求被拒绝),Max Connections设置为2000~5000(根据并发请求数调整)。ufw(Uncomplicated Firewall)配置:sudo ufw allow 7001/tcp、sudo ufw allow 7002/tcp;限制访问IP(如仅允许公司内网IP访问管理界面),提升安全性。五、JVM调优策略
JVM参数直接影响WebLogic的性能和稳定性:
JAVA_OPTIONS设置:export JAVA_OPTIONS="$JAVA_OPTIONS -XX:+UseG1GC"。-XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:/path/to/gc.log),使用jstat(jstat -gcutil <PID> 1000,每秒输出一次GC情况)或VisualVM监控GC情况,根据日志调整堆大小或GC参数。六、监控与调优流程
持续监控是优化资源分配的关键:
http://<host>:7001/console)监控线程池、内存、连接池等指标;通过JMX(Java Management Extensions)远程监控(需开启JMX端口)。top(查看CPU和内存使用率)、htop(更直观的资源监控)、vmstat(查看系统整体性能)等命令实时监控系统资源;使用JConsole(图形化监控JVM)或Prometheus+Grafana(构建可视化监控面板)。