12

我收到以下错误“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。但它不起作用。会是什么问题。请解决

4

5 回答 5

16

PermGen 和堆大小彼此不同。

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

-XX:PermSize=256m 
-XX:MaxPermSize=256m

添加此标志。

还要看看这个:解释-java-lang-outofmemoryerror-permgen-space和这个:how-to-deal-with-java-lang-outofmemoryerror-permgen-space-error

希望这可以帮助。

于 2011-01-28T11:14:46.357 回答
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=256m

于 2011-01-28T11:14:56.083 回答
6

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

-Xms256m -Xmx512m -XX:MaxPermSize=512m -XX:PermSize=128m
于 2013-08-26T12:03:22.813 回答
2

In addition to raising the PermGen size, try enabling permgen garbage collection with

-XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled
于 2011-06-28T21:35:08.540 回答
0

尝试增加 JVM 的内存分配。它应该有帮助。

修复 Eclipse:您可以在 Eclipse 首选项中进行如下配置

Windows -> 首选项(在 mac 上为:eclipse -> 首选项) Java -> 已安装的 JRE 选择 JRE 并单击默认 VM 参数字段类型的编辑 --Xms256m -Xmx512m -XX:MaxPermSize=512m -XX:PermSize= 128米。(或您的内存偏好,对于 1 gb 的 ram 其 1024)单击完成或确定。

于 2014-05-08T09:57:18.817 回答