TeamCity.war挂在Tomcat中

时间:2011-05-30 12:20:16

标签: tomcat teamcity osx-server

我一直在尝试在Mac OS X Server 10.6上的Tomcat(试过6和7)下将TeamCity 6.5设置为WAR。一切都很顺利,但随机点击几秒钟总会挂起整个应用程序和容器。我甚至无法调出Tomcat的网络应用程序管理器或服务器状态页面。

我无法识别挂起发生的时间和位置的任何模式,但是我点击的速度似乎更容易发生。

运行top表示服务器正在以100%CPU(一个核心)旋转。

为什么TeamCity在作为WAR运行时如此容易挂起?独立版本似乎没有遇到同样的问题。

5 个答案:

答案 0 :(得分:1)

  • 打开JVisualVM(在.bin文件夹中) Java 6)
  • 在应用程序下选择您的
    运行tomcat实例
  • 在“Profiler”选项卡下,单击“CPU
  • 等一下,然后点击左右 并重新创造问题。

此时,探查器应该显示您的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执行了一个干净的构建(再次收集所有更改)。

通过网络浏览器访问它:

  • 左下方菜单,
  • 点击“构建历史记录清理”
  • 现在开始清理。

另外我清理了日志文件