Ubuntu上WebLogic内存设置多少合适
导读:Ubuntu上WebLogic内存设置建议 快速建议 在 64位 Ubuntu + 64位 JDK 的生产环境,建议将 WebLogic 的堆内存设置为物理内存的 50%–66%,并且让初始堆与最大堆相等(即 -Xms = -Xmx),以...
Ubuntu上WebLogic内存设置建议
快速建议
- 在 64位 Ubuntu + 64位 JDK 的生产环境,建议将 WebLogic 的堆内存设置为物理内存的 50%–66%,并且让初始堆与最大堆相等(即 -Xms = -Xmx),以避免运行期扩缩堆带来的抖动。示例:物理内存 16 GB 时可先设为 -Xms8g -Xmx8g。堆设置过大将拉长 Full GC 停顿,过小会频繁 GC,需结合监控再微调。对于 32位 环境,单进程通常不超过 1.5–1.8 GB,且整体不应超过物理内存的 60%–80%;现代生产环境建议使用 64 位系统与 JDK。
不同内存规格的起步配置
- 下表给出按物理内存规模的起步值(均为堆,非堆另计),随后结合监控与压测微调。
| 物理内存 | 建议 -Xms/-Xmx(起步) | 说明 |
|---|---|---|
| 4 GB | -Xms2g -Xmx2g | 预留充足给 OS、元空间、容器/监控等 |
| 8 GB | -Xms4g -Xmx4g | 通用业务起步值 |
| 16 GB | -Xms8g -Xmx8g | 高并发/大对象场景可再上调 |
| 32 GB | -Xms16g -Xmx16g | 避免把堆设满,保留系统余量 |
- 非堆(元空间)建议:JDK 8 及更早使用 -XX:MetaspaceSize / -XX:MaxMetaspaceSize,起步可 128–256 MB,按应用类加载量逐步上调;JDK 7 及更早使用 -XX:PermSize / -XX:MaxPermSize。非堆过小会导致 Metaspace/PermGen OOM,过大则挤占堆空间。
在Ubuntu上的设置方法
- 修改域目录下的环境脚本:编辑 $DOMAIN_HOME/bin/setDomainEnv.sh,在合适位置设置(示例为 8 GB 堆):
- 建议优先使用 USER_MEM_ARGS,便于统一管理:
USER_MEM_ARGS="-Xms8g -Xmx8g -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m" export USER_MEM_ARGS - 如需补充 GC 策略(示例并行 GC,线程数与 CPU 核数一致):
USER_MEM_ARGS="$USER_MEM_ARGS -XX:+UseParallelGC -XX:ParallelGCThreads=$(nproc)" export USER_MEM_ARGS - 若脚本中已存在对 MEM_ARGS 的判断逻辑,请确保 USER_MEM_ARGS 生效(常见做法是在判断后
if [ "${ USER_MEM_ARGS} " != "" ] ; then MEM_ARGS="${ USER_MEM_ARGS} "; export MEM_ARGS; fi)。
- 建议优先使用 USER_MEM_ARGS,便于统一管理:
- 也可在 startWebLogic.sh 中直接导出 MEM_ARGS,但更推荐在 setDomainEnv.sh 统一维护。
- 重启 WebLogic 后用管理控制台或启动日志核对实际生效参数。
验证与调优要点
- 启动日志应能看到你设置的 -Xms/-Xmx/Metaspace 等参数;管理控制台路径:Server → 监视 → 性能 可查看 JVM 堆与非堆使用情况。
- 用 jstat -gc 观察 YGC/FGC 次数与停顿,用 jmap -heap 或 VisualVM 查看堆/元空间占用;若 Full GC 停顿过长或频繁,适当降低堆或优化对象生命周期;若频繁 YGC 或 OOM,适度增大堆或排查内存泄漏。
- 留出系统余量:OS、监控代理、日志、容器/虚拟化开销等都需要内存;堆过大将增加单次 GC 停顿时间,影响 RT 稳定性。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu上WebLogic内存设置多少合适
本文地址: https://pptw.com/jishu/780158.html
