我的开发机器中有8GB内存,我正在尝试运行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"
Run Code Online (Sandbox Code Playgroud)
这应该将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
Run Code Online (Sandbox Code Playgroud)
我在这里哪里出错?我已经阅读了多篇关于如何做到这一点的文章(相信!)我正在严格遵循它们.有关如何进一步调试的任何想法或想法?提前致谢!
我使用Apache网站的安装程序将Tomcat作为服务安装.我的bin文件夹中没有catalina.bat.如何设置permgem内存大小?是否有任何建议的尺寸?
我们尝试将我们的应用程序从OC4J迁移到Tomcat 7.0.该应用程序适用于OC4J,但在tomcat中,当运行10个用户的负载测试时,性能会受到影响.我们得到这些错误,应用程序不再响应.
---java.lang.OutOfMemoryError: GC overhead limit exceeded
Exception in thread "ajp-bio-8009-exec-231" java.lang.OutOfMemoryError: GC overhead limit exceeded
Exception in thread "ContainerBackgroundProcessor[StandardEngine[Catalina]]" java.lang.OutOfMemoryError: GC overhead limit exceeded
Exception in thread "ajp-bio-8009-exec-236" java.lang.OutOfMemoryError: GC overhead limit exceeded
Exception in thread "ajp-bio-8009-exec-208" java.lang.OutOfMemoryError: GC overhead limit exceeded
java.lang.OutOfMemoryError: GC overhead limit exceeded
java.lang.OutOfMemoryError: GC overhead limit exceeded
Exception in thread "Thread-33" java.lang.OutOfMemoryError: GC overhead limit exceeded
Exception in thread "ajp-bio-8009-exec-258" java.lang.OutOfMemoryError: GC overhead limit exceeded
java.lang.OutOfMemoryError: GC overhead limit exceeded
Run Code Online (Sandbox Code Playgroud)
我们试过了JAVA_OPTS="-Xms4096m -Xmx8192m.看起来我们仍然得到错误.请建议我们可以尝试的可能选项.. …