温馨提示×

WebLogic Debian内存如何设

小樊
53
2026-07-18 06:34:45
栏目: 智能运维

Debian 上运行 WebLogic 时,内存设置主要通过 JVM 参数 来完成,而不是操作系统本身。下面按常见场景给你一个完整说明。


一、WebLogic 内存的核心参数

WebLogic 本质是 Java 应用,关键 JVM 参数:

-Xms    # 初始堆内存
-Xmx    # 最大堆内存
-XX:MetaspaceSize
-XX:MaxMetaspaceSize

推荐示例(8GB 服务器)

-Xms2g -Xmx4g
-XX:MetaspaceSize=256m
-XX:MaxMetaspaceSize=512m

✅ 一般建议:
-Xms 和 -Xmx 设置成一样,避免运行时动态扩容影响性能。


二、WebLogic 在 Debian 下的设置方式

✅ 方式一:通过 setDomainEnv.sh(最常用)

路径示例:

$WL_HOME/user_projects/domains/base_domain/bin/setDomainEnv.sh

编辑该文件:

vi setDomainEnv.sh

找到或添加以下内容(根据 JDK 版本):

JDK 8 及以下

USER_MEM_ARGS="-Xms2g -Xmx4g"
export USER_MEM_ARGS

JDK 11 / 17(WebLogic 14c+)

USER_MEM_ARGS="-Xms2g -Xmx4g -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m"
export USER_MEM_ARGS

保存后重启 WebLogic:

./stopWebLogic.sh
./startWebLogic.sh

✅ 方式二:在启动脚本中直接指定

export USER_MEM_ARGS="-Xms2g -Xmx4g"
./startWebLogic.sh

三、Admin Server / Managed Server 分开设置

如果你有 Admin Server + Managed Server

# Admin Server
-Xms1g -Xmx2g

# Managed Server
-Xms2g -Xmx4g

可以在:

setDomainEnv.sh

中根据 SERVER_NAME 判断:

if [ "$SERVER_NAME" = "ManagedServer1" ]; then
    USER_MEM_ARGS="-Xms2g -Xmx4g"
fi

四、Debian 系统层面的注意事项

1️⃣ 确认系统内存

free -h

2️⃣ 确认 JVM 位数(强烈建议 64 位)

java -version

3️⃣ 避免 swap 影响性能

swapon -s

五、验证 WebLogic 是否生效

1️⃣ 查看启动日志

grep Xmx servers/AdminServer/logs/AdminServer.log

2️⃣ WebLogic 控制台

Environment → Servers → <Server> → Monitoring → JVM

六、常见推荐配置(经验值)

内存总量 WebLogic 堆内存
4GB -Xms1g -Xmx2g
8GB -Xms2g -Xmx4g
16GB -Xms4g -Xmx8g

七、典型错误

❌ 设置 -Xmx 超过系统物理内存
❌ 忘记 export USER_MEM_ARGS
❌ 使用 32 位 JVM
❌ 同时设置 MEM_ARGSUSER_MEM_ARGS 冲突


如果你愿意,可以告诉我:

  • WebLogic 版本
  • JDK 版本
  • Debian 版本
  • Admin Server 还是 Managed Server

我可以给你一份 精确可用的配置示例

0