在 Debian 上运行 WebLogic 时,内存设置主要通过 JVM 参数 来完成,而不是操作系统本身。下面按常见场景给你一个完整说明。
WebLogic 本质是 Java 应用,关键 JVM 参数:
-Xms # 初始堆内存
-Xmx # 最大堆内存
-XX:MetaspaceSize
-XX:MaxMetaspaceSize
-Xms2g -Xmx4g
-XX:MetaspaceSize=256m
-XX:MaxMetaspaceSize=512m
✅ 一般建议:
-Xms 和 -Xmx 设置成一样,避免运行时动态扩容影响性能。
setDomainEnv.sh(最常用)路径示例:
$WL_HOME/user_projects/domains/base_domain/bin/setDomainEnv.sh
编辑该文件:
vi setDomainEnv.sh
找到或添加以下内容(根据 JDK 版本):
USER_MEM_ARGS="-Xms2g -Xmx4g"
export USER_MEM_ARGS
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
-Xms1g -Xmx2g
# Managed Server
-Xms2g -Xmx4g
可以在:
setDomainEnv.sh
中根据 SERVER_NAME 判断:
if [ "$SERVER_NAME" = "ManagedServer1" ]; then
USER_MEM_ARGS="-Xms2g -Xmx4g"
fi
free -h
java -version
swapon -s
grep Xmx servers/AdminServer/logs/AdminServer.log
Environment → Servers → <Server> → Monitoring → JVM
| 内存总量 | WebLogic 堆内存 |
|---|---|
| 4GB | -Xms1g -Xmx2g |
| 8GB | -Xms2g -Xmx4g |
| 16GB | -Xms4g -Xmx8g |
❌ 设置 -Xmx 超过系统物理内存
❌ 忘记 export USER_MEM_ARGS
❌ 使用 32 位 JVM
❌ 同时设置 MEM_ARGS 和 USER_MEM_ARGS 冲突
如果你愿意,可以告诉我:
我可以给你一份 精确可用的配置示例。