java.lang.OutOfMemoryError:PermGen空间

jay*_*han 12 java permgen tomcat6

我收到以下错误"http-9000-5"java.lang.OutOfMemoryError:PermGen space

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

我的应用程序使用axis2.I增加了堆大小1024mb.But它不工作.这将是什么问题.解决方案请

Har*_*Joy 16

PermGen和堆大小彼此不同.

你需要像这样增加permgen空间:

-XX:PermSize=256m 
-XX:MaxPermSize=256m
Run Code Online (Sandbox Code Playgroud)

添加此标志.

另外看看这个:解释-java-lang-outofmemoryerror-permgen-space和this:how-to-deal-with-java-lang-outofmemoryerror-permgen-space-error

希望这可以帮助.


Jig*_*shi 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"
Run Code Online (Sandbox Code Playgroud)

注:XX:MaxPermSize参数=256米

  • 记得把它放在tomcat/bin /目录下的`setenv`脚本中.对于*nix,使用带有`export JAVA_OPTS ="......"的`setenv.sh`脚本,对于Windows,使用带有`set JAVA_OPTS = .....`的`setenv.bat`脚本. (5认同)

Ale*_*sio 6

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

-Xms256m -Xmx512m -XX:MaxPermSize=512m -XX:PermSize=128m
Run Code Online (Sandbox Code Playgroud)