我在我的开发机器上有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之间,这将为其他任务留下足够的空间,同时为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
我在哪里出错了?我已经阅读了多篇文章,(相信我!)我正在精确地按照它们来操作。您有什么想法或建议以便我进一步调试吗?先感谢您了!