ADF java.lang.OutOfMemoryError: PermGen space

来源:互联网 发布:windows系统修复软件 编辑:程序博客网 时间:2024/06/18 11:14

ADF java.lang.OutOfMemoryError: PermGen space

Time: 2015-03-04

 

1. Root cause of ServletException.java.lang.OutOfMemoryError: PermGen spaceat 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

 

 

问题分析:

PermGen space的全称是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space从表面上看就是内存益出,解决方法也一定是加大内存。说说为什么会内存益出:这一部分用于存放Class和Meta的信息,Class在被 Load的时候被放入PermGen space区域,它和和存放Instance的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,所以如果你的APP会LOAD很多CLASS的话,就很可能出现PermGen space错误。可以通过 -Xmx512m 指定最大 heap 内存来解决这样的问题。 

 

 

解决问题:

1. 如果在本机运行,那么找到Jdeveloper 运行空间weblogic domain域:

   (D:\JDevRuntime12C\system12.1.2.0.40.66.68\DefaultDomain\bin),打开setDomainEnv.cmd文件,修改内容如图:

 

0 0