首页主机资讯WebLogic在Ubuntu上的内存配置建议

WebLogic在Ubuntu上的内存配置建议

时间2025-12-03 16:46:04发布访客分类主机资讯浏览1282
导读:WebLogic在Ubuntu上的内存配置建议 一 核心原则与容量规划 为JVM堆保留不超过物理内存的70%,其余留给操作系统、文件缓存、容器/虚拟化开销与其他进程。生产环境将**-Xms与-Xmx设为相同值,避免运行期扩缩堆带来的抖动与...

WebLogic在Ubuntu上的内存配置建议

一 核心原则与容量规划

  • 为JVM堆保留不超过物理内存的70%,其余留给操作系统、文件缓存、容器/虚拟化开销与其他进程。生产环境将**-Xms-Xmx设为相同值,避免运行期扩缩堆带来的抖动与停顿。堆过小会频繁GC,过大则单次GC停顿变长且易触发操作系统换页。年轻代建议占堆的1/3~1/2**,并使用合适的GC策略控制停顿。元空间(Metaspace)默认无上限,建议设置上限以避免类加载泄漏导致的内存膨胀。对于32位JVM,堆通常限制在1.5~2GB;在Ubuntu上建议使用64位JDK以获得更大堆与更佳性能。

二 推荐的JVM参数模板

  • Java 8(G1,低延迟优先,通用Web场景)
    • 堆:例如**-Xms4g -Xmx4g**;年轻代:例如**-Xmn1536m**;Survivor区比例:-XX:SurvivorRatio=8
    • GC:-XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:G1ReservePercent=15 -XX:InitiatingHeapOccupancyPercent=35
    • 元空间:-XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m
    • 诊断与稳定性:-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/weblogic/heapdumps -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -Xloggc:/opt/weblogic/logs/gc_%t.log -XX:+DisableExplicitGC
  • Java 11+(ZGC,超大堆与极低停顿)
    • 堆:例如**-Xms8g -Xmx8g**
    • GC:-XX:+UseZGC(可选:-XX:+UseShenandoahGC
    • 元空间:-XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m
    • 诊断与稳定性:同上
  • 说明
    • 年轻代示例值可按“堆的1/3~1/2”原则调整;若应用对象生命周期短、分配速率高,可适当增大年轻代或提高G1目标停顿时间。
    • 若更关注吞吐而非延迟,可在Java 8选择并行GC:-XX:+UseParallelGC -XX:+UseParallelOldGC

三 在Ubuntu上的配置方法与落地步骤

  • 方式一(推荐):在域目录的启动脚本中设置
    • 编辑:$DOMAIN_HOME/bin/setDomainEnv.sh
    • 在文件末尾加入(示例为Java 8/G1):
      • USER_MEM_ARGS=“-Xms4g -Xmx4g -Xmn1536m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m”
      • 如需GC与诊断参数,可追加到USER_MEM_ARGS或JAVA_OPTIONS
      • export USER_MEM_ARGS
  • 方式二:通过管理控制台设置
    • 登录控制台 → 环境 → 服务器 → 目标服务器 → 配置 → 服务器启动 → 参数,添加JVM参数
  • 生效与验证
    • 重启受管服务器/节点管理器,使用jps -vps -ef | grep weblogic确认JVM参数已生效
    • 访问http://:/console,在“监视 → 性能”查看堆与非堆使用情况,确认GC日志与堆转储路径可写并已生成。

四 场景化配置示例

  • 中小型应用(物理内存8GB,Java 8)
    • JAVA_OPTIONS=“-Xms2048m -Xmx2048m -Xmn1024m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/weblogic/heapdumps”
  • 大型高并发(物理内存32GB,Java 11+)
    • JAVA_OPTIONS=“-Xms16g -Xmx16g -Xmn6g -XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=1g -XX:+UseZGC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/weblogic/heapdumps”
  • 说明
    • 年轻代按堆的1/3~1/2取值;若观察到Young GC频繁或停顿偏长,可适当增大年轻代或调整G1的MaxGCPauseMillis/InitiatingHeapOccupancyPercent

五 监控与系统层面的优化要点

  • 监控与调优
    • 关键指标:堆使用率建议长期低于70%;Young GC应快速且频率稳定;Full GC应极少;元空间使用不应持续增长。
    • 方法:结合GC日志、堆转储与控制台性能页,先建立基准,再按“每次只变更一个参数”的策略迭代优化。
  • Ubuntu系统层面
    • 资源与稳定性:使用top/htop观察资源占用,必要时用cgroups限制WebLogic资源;关注OOM Killer,通过oom_score_adj降低关键进程被杀死的风险。
    • 内存与I/O:在内存紧张环境下可启用zram/zswap缓解换页;用vmstat/iostat/sar持续监测负载与I/O;按需优化文件系统与内核参数(如fs.file-max与网络参数)。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: WebLogic在Ubuntu上的内存配置建议
本文地址: https://pptw.com/jishu/762500.html
Debian iptables如何阻止所有连接 Ubuntu环境下如何备份WebLogic数据

游客 回复需填写必要信息