天天看点

关于使用Myeclipse 部署 web项目到tomcat上出现PermGen space的解决方案

具体错误如下:

严重:Error configuring application listener of classcom.sun.faces.config.ConfigureListener 

java.lang.OutOfMemoryError: PermGen space 

at java.lang.ClassLoader.defineClass1(NativeMethod) 

atjava.lang.ClassLoader.defineClass(ClassLoader.java:621) 

at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) 

atorg.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1847)

atorg.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:890) 

atorg.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1354) 

atorg.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233) 

atjava.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) 

at com.sun.faces.config.ConfigureListener.<clinit>(ConfigureListener.java:209) 

atsun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 

atsun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)

atjava.lang.reflect.Constructor.newInstance(Constructor.java:513) 

atjava.lang.Class.newInstance0(Class.java:355) 

at java.lang.Class.newInstance(Class.java:308) 

at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3787) 

atorg.apache.catalina.core.StandardContext.start(StandardContext.java:4342) 

atorg.apache.catalina.core.StandardContext.reload(StandardContext.java:3099) 

at org.apache.catalina.loader.WebappLoader.backgroundProcess(WebappLoader.java:404) 

atorg.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1309) 

atorg.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1601)

atorg.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)

atorg.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)

atorg.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1590)

at java.lang.Thread.run(Thread.java:619) 

catalina.out错误日志: 

Exception in thread"ContainerBackgroundProcessor[StandardEngine[Catalina]]"java.lang.OutOfMemoryError: PermGen space 

Exception in thread "TP-Processor3"java.lang.OutOfMemoryError: PermGen space 

Exception in thread "TP-Processor11"java.lang.OutOfMemoryError: PermGen space 

Exception in thread "TP-Processor5"java.lang.OutOfMemoryError: PermGen space 

Exception in thread "TP-Processor12"java.lang.OutOfMemoryError: PermGen space 

Exception in thread "TP-Processor2"Exception in thread "TP-Processor8" java.lang.OutOfMemoryError:PermGen space 

java.lang.OutOfMemoryError: PermGen space 

Exception in thread "TP-Processor9"java.lang.OutOfMemoryError: PermGen space 

Exception in thread "TP-Processor16"java.lang.OutOfMemoryError: PermGen space 

Exception in thread "TP-Processor15"java.lang.OutOfMemoryError: PermGen space 

Exception in thread "TP-Processor14"java.lang.OutOfMemoryError: PermGen space 

Exception in thread "TP-Processor13"java.lang.OutOfMemoryError: PermGen space 

Exception in thread "TP-Processor20"java.lang.OutOfMemoryError: PermGen space 

Exception in thread "TP-Processor19"java.lang.OutOfMemoryError: PermGen space 

Exception in thread "TP-Processor18"java.lang.OutOfMemoryError: PermGen space 

Exception in thread "TP-Processor17"java.lang.OutOfMemoryError: PermGen space 

Exception in thread "TP-Processor24"java.lang.OutOfMemoryError: PermGen space 

Exception in thread "TP-Processor23"java.lang.OutOfMemoryError: PermGen space 

Exception in thread "TP-Processor22"java.lang.OutOfMemoryError: PermGen space 

Exception in thread "TP-Processor21"java.lang.OutOfMemoryError: PermGen space 

Exception in thread "TP-Processor28"java.lang.OutOfMemoryError: PermGen space 

Exception in thread "TP-Processor27"java.lang.OutOfMemoryError: PermGen space 

Exception in thread "TP-Processor26"java.lang.OutOfMemoryError: PermGen space

 网上说的最多的三中方案:

1、修改catalina.bat的配置

2、修改myeclipse.ini的配置

3、修改run configuration的配置

我试过以上三中方法,都不行,在某处看到说可能是JDK的运行内存问题,所以,修改如下

解决方案:

我在用myeclipse的时候,也出现了这个问题 

修改如下: 

1.window-->Preferences...-->MyEclipse-->Application Servers-->Tomcat, 

2. 选中你安装的tomcat版本,选中下面的JDK,在右边的 

   Optional Java VM arguments 文本框中输入: 

   -Xmx256M -Xms256M-XX:MaxPermSize=256m 

这些值可以适当调整