面对weblogic中的perm gen space错误

nak*_*kul 12 java garbage-collection weblogic

我是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
Run Code Online (Sandbox Code Playgroud)

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

请帮忙.任何指针都将受到高度赞赏.

谢谢.

Ale*_*leš 13

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

关于Weblogic,设置JAVA_OPTIONS并查看这些选项是否作为参数正确传入Java进程.您也可以在startWeblogic.cmd脚本中直接设置这些参数.

要检查您JAVA_OPTIONS的设置是否正确,请添加echo %JAVA_OPTIONS%startWeblogic.cmd脚本中并查看输出.此外,您可以使用例如jConsole,jstatjmap来监视运行时Weblogic进程的堆使用情况.这将向您展示PermGen的尺寸和职业.


cod*_*608 7

您可以尝试更改服务器中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
)
Run Code Online (Sandbox Code Playgroud)

根据您的要求和环境更改这些设置.