2011-01-28 67 views
11

,我发现了以下错误 “HTTP-9000-5” java.lang.OutOfMemoryError:PermGen的空间java.lang.OutOfMemoryError:PermGen的空间

org.apache.catalina.core.ApplicationDispatcher调用 严重:servlet jsp的Servlet.service()抛出异常 java.lang.OutOfMemoryError:PermGen空间。

我使用axis2.I申请增加堆大小1024mb.But它不是working.What将是problem.Solution请

+1

可能的重复[如何处理“java.lang.OutOfMemoryError:PermGen空间”错误](http://stackoverflow.com/questions/88235/how-to-deal-with-java-lang-outofmemoryerror- permgen-space-error) – 2011-01-28 11:26:40

回答

6

如果您使用Tomcat作为Eclipse的服务器,请转到服务器视图,然后双击Tomcat,然后“打开启动配置”,转到参数选项卡,并在设置-Dcatalina.base =“”put这

-Xms256m -Xmx512m -XX:MaxPermSize=512m -XX:PermSize=128m 
15

你需要设置的东西在你的tomcat的说法

JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 
-server -Xms1536m -Xmx1536m 
-XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m 
-XX:MaxPermSize=256m -XX:+DisableExplicitGC" 

注:XX:MaxPermSize参数=256米

+5

记得把它放在` setenv`脚本放在你的tomcat/bin /目录下。对于* nix,使用带有`export JAVA_OPTS =“......”`的`setenv.sh`脚本,并且Windows使用`set JAVA_OPTS = .....`的setenv.bat`脚本。 – Qwerky 2011-01-28 11:24:44

2

除了提高PermGen的大小,请尝试启用permgen垃圾收集与

-XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled 
0

尝试增加您的JVM的ram分配。它应该有所帮助。

修正了日食:您可以在Eclipse首选项如下

的Windows配置此 - >首选项(在Mac上的:日食 - >首选项) 爪哇 - >安装的JRE 选择JRE,点击Edit 在默认VM参数字段中键入--Xms256m -Xmx512m -XX:MaxPermSize = 512m -XX:PermSize = 128m。 (或者你的内存首选项,对于1 gb的ram,它的1024) 点击完成或确定。