最佳答案
可能的复制品:
处理 java.lang. OutOfMemory 错误: PermGen 空间 & rdquo; error
我的开发机器中有8GB 内存,我试图同时运行 Apache Tomcat (7.0.29)来承载 伪造的(2.6.3)和 詹金斯(1.479)。我试图找到詹金斯的内存需求,但它似乎他们的维基是关闭的。
在 ${TOMCAT_HOME}/bin/catalina.sh
中,我添加了以下命令:
CATALINA_OPTS="$CATALINA_OPTS -server -Xms1024m -Xmx3052m"
这将使 Tomcat 的 JVM 大小保持在(本质上)1到3GB 之间,为其他东西留下了足够的空间,还有为 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
我到底要说什么?我已经阅读了很多关于如何做到这一点的文章(相信!)我正在跟踪他们。对于如何进一步调试这个程序,有什么想法或主意吗?先谢谢你!