我收到以下错误“http-9000-5”java.lang.OutOfMemoryError: PermGen space
org.apache.catalina.core.ApplicationDispatcher 调用 SEVERE: Servlet.service() for servlet jsp 抛出异常 java.lang.OutOfMemoryError: PermGen space。
我使用axis2的应用程序。我增加了堆大小1024mb。但它不起作用。会是什么问题。请解决
PermGen 和堆大小彼此不同。
您需要像这样增加 permgen 空间:
-XX:PermSize=256m
-XX:MaxPermSize=256m
添加此标志。
还要看看这个:解释-java-lang-outofmemoryerror-permgen-space和这个:how-to-deal-with-java-lang-outofmemoryerror-permgen-space-error
希望这可以帮助。
你需要在你的 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=256m
如果您使用 Tomcat 作为 Eclipse 的服务器,请转到服务器视图,然后双击 Tomcat,然后“打开启动配置”,转到“参数”选项卡,然后设置 -Dcatalina.base=""
-Xms256m -Xmx512m -XX:MaxPermSize=512m -XX:PermSize=128m
In addition to raising the PermGen size, try enabling permgen garbage collection with
-XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled
尝试增加 JVM 的内存分配。它应该有帮助。
修复 Eclipse:您可以在 Eclipse 首选项中进行如下配置
Windows -> 首选项(在 mac 上为:eclipse -> 首选项) Java -> 已安装的 JRE 选择 JRE 并单击默认 VM 参数字段类型的编辑 --Xms256m -Xmx512m -XX:MaxPermSize=512m -XX:PermSize= 128米。(或您的内存偏好,对于 1 gb 的 ram 其 1024)单击完成或确定。