面对烫发根空间误差在weblogic(facing perm gen space error in

2019-07-20 02:59发布

我是新来的WebLogic。 启动服务器,当我看到管理员控制台,并获得登录它抛出异常以下后。

Root cause of ServletException.
java.lang.OutOfMemoryError: PermGen space
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at weblogic.utils.classloaders.GenericClassLoader.defineClass(GenericClassLoader.java:335)
at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:288)
Truncated. see log file for complete stacktrace

我做了很多的谷歌和发现了一些解决方案来初始化JAVA_OPTIONS-XX:xmx等我试图设置这startdomainenv.cmd文件,但没有运气。

请帮忙。 任何指针将高度赞赏。

谢谢。

Answer 1:

要设置PermGen的大小,你可以使用如-XX:PermSize=512m -XX:MaxPermSize=512m

关于WebLogic中 ,设置JAVA_OPTIONS,看看这些选项正确地作为参数传递到你的Java程序。 您也可以直接设置在这些参数startWeblogic.cmd脚本。

要检查您的JAVA_OPTIONS设置是否正确,添加echo %JAVA_OPTIONS%进入startWeblogic.cmd脚本,并查看输出。 此外,您还可以使用如JConsole的 ,jstat,JMAP监控在运行时的WebLogic进程的堆的使用情况。 这将显示大小和PermGen的占领。



Answer 2:

你可以在你的服务器改变的weblogic的内存设置尝试。 *去- <weblogic path>\Middleware\user_projects\domains\fms_domain\bin\setDomainEnv.cmd *打开文件*更改设置

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
)

更改这些设置按照您的要求和环境。



Answer 3:

完成user267还必须改变的回复:设置MEM_MAX_PERM_SIZE_64BIT = -XX:MaxPermSize参数=256米

设置MEM_MAX_PERM_SIZE_32BIT = -XX:MaxPermSize参数=256米



Answer 4:

在我的情况的解决方案是编辑DOMAIN\bin\setDomainEnv.cmd文件。 以下修改作了之前按预期服务器将开始:

  • -Xms-Xmx值增加
  • -XX:PermSize-XX:MaxPermSize值增加太多

最后,但也许是最重要的

  • if "%JAVA_VENDOR%"=="Sun" (条件改为if "%JAVA_VENDOR%"=="Oracle" (以正确识别我的JVM。

这最后修改前的内存变化只能部分反映到初始化JVM,这意味着关于PermGen的空间参数进行了简单地忽略。



Answer 5:

我只是想分享一下解决了我的问题:我采购setDomainEnv.sh和echo $ {JAVA_OPTIONS}并注意到MEM参数都没有了。

因此,我增加MEM_ARGS到JAVA_OPTIONS的最后的安装。

像这样:
JAVA_OPTIONS = “$ {JAVA_OPTIONS} $ {} MEM_ARGS” 出口JAVA_OPTIONS

干杯



文章来源: facing perm gen space error in weblogic