Xms 和 Xmx 是 Java 程序可以使用的最小和最大堆(主要是存储对象的位置)大小。
在您的情况下,java 程序是部署应用程序的 WebLogic 服务器。默认情况下,WebLogic 服务器设置的 Xms 和 Xmx 值为:256m 和 512m。
看起来您的应用程序需要超过 512MB 的堆内存。所以你需要增加最大堆大小(Xmx)来避免频繁的 OutOfMemory 错误。
Xmx 的新值可以是 1024m 或更大。您(或性能团队,如果有的话)必须对您的应用程序和不同的 Xmx 值进行严格的性能、可扩展性、可靠性测试,以确定最适合应用程序的方法。
可以在脚本级别设置内存参数(即 Xms、Xmx)(如果您使用 startWebLogic.sh/startManagedWebLogic.sh 脚本来启动服务器)。
脚本级别更改:
- 打开 setDomainEnv.sh 并搜索“IF USER_MEM_ARGS 环境变量已设置”并在下一行插入
USER_MEM_ARGS="-Xms256m -Xmx1024m"
- 您甚至可以通过使用
SERVER_NAME
保存正在启动的服务器的变量来在服务器之间更改此设置。例如,要将此设置仅用于非管理服务器,请插入[ "${SERVER_NAME}" != "AdminServer" ] && USER_MEM_ARGS="-Xms256m -Xmx1024m"
控制台更改(仅当您使用管理控制台启动托管服务器时):
- 登录到AdminConsole–>Environments—>Servers—>—>Configuration—>ServerStart—>Arguments:(TextArea)。
- 输入:
-Xms256m -Xmx1024m
并保存。
哦,顺便说一句,JRockit没有任何 PermSize 的概念。