我正在使用安装了 JRockit 的 weblogic 10.3.6。我正在使用 64 位系统,以 Linux 作为操作系统。我在其中安装了一个 adf 应用程序。只有几个用户在使用该应用程序。但是安装 WLS 的服务器机器每周都会停机,导致内存不足。所以我们必须每周重新启动它。当我浏览时,我发现可以通过调整堆大小和其他内存参数来使 WebLogic 更加稳定。
示例:--Xms256m --Xmx512m MaxPermsize 为 128m
我的问题是
这些参数是什么?
这些论点之间有什么关系?
如何确定这些参数的值?
内存不足问题还有哪些其他原因?
谢谢,
拉克什
最佳答案
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 the environment variable is set”并在下一行插入
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 does not对 PermSize 有任何概念。
关于linux - weblogic server 11g 内存不足问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13006476/