我一直在尝试在Mac OS X Server 10.6上的Tomcat(试过6和7)下将TeamCity 6.5设置为WAR。一切都很顺利,但随机点击几秒钟总会挂起整个应用程序和容器。我甚至无法调出Tomcat的网络应用程序管理器或服务器状态页面。
我无法识别挂起发生的时间和位置的任何模式,但是我点击的速度似乎更容易发生。
运行top
表示服务器正在以100%CPU(一个核心)旋转。
为什么TeamCity在作为WAR运行时如此容易挂起?独立版本似乎没有遇到同样的问题。
答案 0 :(得分:1)
此时,探查器应该显示您的CPU时间是多少。
答案 1 :(得分:1)
以下是一些有关如何检测和报告TeamCity挂起的文档:
http://confluence.jetbrains.net/display/TCD65/Reporting+Issues#ReportingIssues-HangsandThreadDumps
答案 2 :(得分:1)
(我已经投了其他答案,感谢他们的努力,但他们都没有解决我的问题,所以我正在回答我自己的问题。)
我已经放弃并安顿下来解决问题。我正在运行TeamCity独立(不是.war)并为防火墙添加了额外的HTTPS端口。在这种配置中,TeamCity可以完美运行。
如果有人可以提供一个不会再烧掉我生命中三天的决议,我会很高兴地将绿色标记移到他们身上。
答案 3 :(得分:1)
关于这个主题的两分钱:正如我在评论中告诉你的那样,我遇到了同样的问题,tomcat挂起和使用100%cpu的java。它是随机发生的,解决它的唯一方法就是杀死这个过程。在我遵循此page about memory usage
之前当我遇到问题时,我的JAVA_OPTS
:-XX:MaxPermSize=200m
中没有此选项,通过将其添加到环境变量上给出的其他java选项中,问题似乎已得到解决,现在TC是在没有挂起的情况下运行超过一天。
这是我的完整JAVA_OPTS
行:
JAVA_OPTS="-Djava.awt.headless=true -Xmx1024m -XX:+UseConcMarkSweepGC -XX:MaxPermSize=200m -Dteamcity.data.path=/var/lib/teamcity"
希望这可以帮到你。
答案 4 :(得分:0)
今天遇到了这个问题,我执行了一个手动的Build History Clean-up,TC执行了一个干净的构建(再次收集所有更改)。
通过网络浏览器访问它:
另外我清理了日志文件