温馨提示×

centos上weblogic内存如何配置

小樊
45
2025-11-22 04:29:16
栏目: 智能运维

CentOS上WebLogic内存配置指南

一 配置方式与位置

  • 修改域目录下的启动脚本:编辑域目录/bin/setDomainEnv.sh,在合适位置设置或覆盖MEM_ARGS(或USER_MEM_ARGS)。示例:
    • 通用写法:USER_MEM_ARGS=“-Xms4g -Xmx4g -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m”
    • 兼容写法(避免覆盖脚本内其他逻辑):在脚本中搜索“MEM_ARGS”相关段落,追加或替换对应位;若脚本使用 WLS_MEM_ARGS_64BIT/WLS_MEM_ARGS_32BIT,则修改对应变量。
  • 控制台设置:登录WebLogic控制台 → 服务器 → 目标服务器 → 配置 → 服务器启动 → Java虚拟机,填写“初始堆大小”“最大堆大小”等参数,保存并重启生效。
  • 注意:修改后需重启服务器;若脚本中已存在 USER_MEM_ARGS,通常以它为准,避免被 MEM_ARGS 覆盖。

二 关键JVM参数与取值建议

  • 堆内存:设置**-Xms**(初始堆)与**-Xmx**(最大堆)。生产环境建议两者设为相同,减少GC波动;常见取值区间为物理内存的50%–70%,且不超过80%。示例:-Xms8g -Xmx8g。
  • 元空间(Java 8+):使用**-XX:MetaspaceSize-XX:MaxMetaspaceSize**控制元空间;若不显式设置,元空间会按需增长。示例:-XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m。
  • 线程栈:设置**-Xss**(每个线程栈大小),如:-Xss256k(根据应用线程深度与栈使用调整)。
  • 垃圾回收:根据负载选择并行/并发收集器(如并行GC),并按CPU核数设置并行线程数(如**-XX:ParallelGCThreads**)。示例:-XX:+UseParallelGC -XX:ParallelGCThreads=8。

三 操作系统层面的配合

  • 资源限制:避免系统级限制导致JVM无法申请足够内存。可在**/etc/security/limits.conf**为运行WebLogic的用户设置内存/虚拟内存上限,例如:
    • weblogic soft as 16384
    • weblogic hard as 16384 或在启动前用 ulimit -v 设置虚拟内存上限(单位为KB)。
  • 交换与内核参数:适度降低vm.swappiness(如设为10)以减少换页;必要时配置或扩容swap,避免频繁交换导致性能抖动。

四 快速示例与验证

  • 示例(单机单实例,物理内存16GB):在setDomainEnv.sh中设置
    • USER_MEM_ARGS=“-Xms8g -Xmx8g -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m -Xss256k -XX:+UseParallelGC -XX:ParallelGCThreads=8”
  • 验证步骤:
    • 重启WebLogic后,登录控制台核对“服务器启动”页签中的JVM参数是否已生效。
    • 在服务器上查看进程参数:ps -ef | grep weblogic | grep -E ‘Xms|Xmx|MetaspaceSize’
    • 连接JVM监控(如jconsole/VisualVM)观察堆与非堆(元空间)使用情况,确认无频繁Full GC或内存溢出。

0