增加 Tomcat 内存设置

可能的复制品:
处理 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

我到底要说什么?我已经阅读了很多关于如何做到这一点的文章(相信!)我正在跟踪他们。对于如何进一步调试这个程序,有什么想法或主意吗?先谢谢你!

320671 次浏览

试试这个

CATALINA_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"

{$tomcat-folder}\bin\setenv.sh中(如果需要,创建它)。

Http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/ 了解详情。