【发布时间】:2012-09-23 05:12:56
【问题描述】:
可能重复:
Dealing with “java.lang.OutOfMemoryError: PermGen space” error
我的开发机器中有 8GB RAM,我正在尝试运行 Apache Tomcat (7.0.29) 来同时托管 Artifactory (2.6.3) 和 Jenkins (1.479)。我试图找到 Jenkins 的内存要求,但看起来他们的 wiki 已关闭。
在${TOMCAT_HOME}/bin/catalina.sh中,我添加了以下命令:
CATALINA_OPTS="$CATALINA_OPTS -server -Xms1024m -Xmx3052m"
这应该使 Tomcat 的 JVM 大小(基本上)保持在 1 到 3 GB 之间,为我留出足够的空间来存放其他东西,并且为 Tomcat 提供足够的内存供 Artifactory/Jenkins 使用,如果我可以想要。
(值得我尝试与JAVA_OPTS 相同的结果只是为了获得相同的确切结果)。我保存更改并运行startup.sh。 Tomcat 开始启动,然后死于 OOME,抱怨 Tomcat 已用完 PermGen 空间:
Exception in thread "SocketListener(<hex-stuff>.local.)"
java.lang.OutOfMemoryError: PermGen space
java.lang.OutOfMemoryError: PermGen space
java.lang.OutOfMemoryError: PermGen space
Exception in thread "hudson initialization thread" java.lang.OutOfMemoryError: PermGen space
java.lang.OutOfMemoryError: PermGen space
我会在哪里出错?我已经阅读了多篇关于如何做到这一点的文章,并且(相信!)我正在准确地关注它们。关于如何进一步调试的任何想法或想法?提前致谢!
【问题讨论】:
-
你试过增加永久空间吗?例如
-XX:MaxPermSize=128m -
嗨@Augusto - 请在 sgpalit 的回答下查看我的评论 - 我有同样的问题要问你!再次感谢!