如何增加Weblogic(Java)使用的内存。从eclipse启动服务器时,它会显示JAVA Memory arguments: -Xms256m -Xmx512m -XX:MaxPermSize=256m
的消息。我无法理解它从哪里获取价值。一段时间后,Weblogic服务器由于低permgen空间而失败。
我从控制台添加了启动参数,但这没有任何效果。你能从哪里获取内存值来帮助我吗?
答案 0 :(得分:7)
在Eclipse for WebLogic中配置“服务器”时,选择域目录(对于本地)。该域目录包含Eclipse将用于启动WebLogic Server的启动脚本。如果您在没有Eclipse的情况下启动服务器,那么这些脚本将与您使用的脚本相同。域目录内是一个名为“bin”的文件夹。在“bin”目录中,找到setDomainEnv文件(.sh表示unix,或.cmd表示Windows)。在该文件中,更改内存设置以满足您的需求。
根据您在问题中提到的错误消息,我会将PermSize和MaxPermSize设置都增加到512m。对于PermSize和MaxPermSize,默认情况下,在简单的WLS安装中有两个位置,一个用于32位,另一个用于64位。改变它们都不会有害。但是,如果您知道正在运行的JVM体系结构,则可以更改适用于您的环境的体系结构。
答案 1 :(得分:6)
您的服务器bin文件夹下将有一个文件setDomainEnv.cmd / setDomainEnv.sh。此文件包含
set MEM_MAX_PERM_SIZE_64BIT=-XX:MaxPermSize=512m
set MEM_MAX_PERM_SIZE_32BIT=-XX:MaxPermSize=512m
最大和最小内存值为
if "%JAVA_VENDOR%"=="Sun" (
set WLS_MEM_ARGS_64BIT=-Xms256m -Xmx512m
set WLS_MEM_ARGS_32BIT=-Xms256m -Xmx512m
) else (
set WLS_MEM_ARGS_64BIT=-Xms512m -Xmx512m
set WLS_MEM_ARGS_32BIT=-Xms512m -Xmx512m
)
您可以更新其中的值。
答案 2 :(得分:3)
除了前两个正确的答案(修改setDomainEnv
和可能wl_server\common\bin\commEnv
)之外,如果您使用nodemanager启动服务器,还可以单独修改服务器。
在管理控制台中,导航至:
Servers -> <server name> -> Server Start tab -> Arguments
在这里,您可以为该服务器设置所需的JVM参数,而不是在所有服务器中进行全面更改以进行setDomainEnv
答案 3 :(得分:2)
看起来eclipse插件添加了自己的USER_MEM_ARGS变量,因此应该使用以下方法重写:
打开以下文件:
$WL_HOME/user_projects/domains/mydomain/bin/setDomainEnv.sh
并向其添加下一行(例如,在帮助描述之后)
USER_MEM_ARGS=$ECLIPSE_MEM_ARGS
然后,打开weblogic服务器属性(在服务器视图中双击weblogic),然后单击“打开启动配置”。在打开的窗口中选择“Environment”并添加带有内存参数的新变量ECLIPSE_MEM_ARGS作为值,例如:
ECLIPSE_MEM_ARGS=-Xms1024m -Xmx2048m -XX:MaxPermSize=512m
保存并检查服务器是否已应用新配置 附:使用这种方法,您可以直接从eclipse更改/添加内存参数 P.S.S.在 Windows 中,您应该使用 setDomainEnv.cmd 文件,添加的行应为:
set USER_MEM_ARGS=%ECLIPSE_MEM_ARGS%
答案 4 :(得分:0)
对于Weblogic12 :
环境 - &gt;服务器 - &gt; [your_server] - &gt;配置/服务器启动 - &gt;参数:
-Xms1024m -Xmx2048m
重启服务器: 环境 - &GT;服务器 - &GT; YOUR_SERVER] - &gt;控制/&#34;开始/停止&#34; - &GT;暂停然后开始。
检查你的记忆: 环境 - &GT;服务器 - &GT; YOUR_SERVER] - GT;监视/效果