TeamCity.war висит в Tomcat

Я пытался настроить TeamCity 6.5 как WAR под Tomcat (пробовал 6 и 7) на Mac OS X Server 10.6. Все запускается нормально, но несколько секунд случайного нажатия неизменно приводят к зависанию всего приложения и контейнера. Я даже не могу вызвать диспетчер веб-приложений Tomcat или страницы состояния сервера.

Я не могу различить какую-либо закономерность, когда и где происходит зависание, хотя кажется, что это происходит тем быстрее, чем быстрее я нажимаю.

Запуск top показывает, что сервер вращается на 100% ЦП (одно ядро).

Почему TeamCity так легко зависает при запуске в качестве WAR? Автономная версия, кажется, не страдает от той же проблемы.


person Marcelo Cantos    schedule 30.05.2011    source источник
comment
Вы когда-нибудь решали эту проблему? Я испытываю то же самое в Linux с tomcat6.   -  person Fabio    schedule 01.12.2011
comment
Нет, боюсь, я этого не сделал. Я все еще запускаю его в соответствии с моим ответом.   -  person Marcelo Cantos    schedule 01.12.2011


Ответы (5)


Мои два цента на эту тему: как я уже говорил вам в своем комментарии, у меня была такая же идентичная проблема, зависание tomcat и java со 100% -ным использованием процессора. Это произошло случайно, и единственный способ решить эту проблему - убить процесс. Пока я не перешел на эту страницу об использовании памяти< /а>

Когда у меня возникла проблема, у меня не было этой опции в моем 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"

Надеюсь, это поможет вам.

person Fabio    schedule 01.12.2011
comment
Боюсь, у меня нет времени или желания исследовать этот ответ самостоятельно, но, похоже, это решение, поэтому я поставлю вам галочку. - person Marcelo Cantos; 02.12.2011

  • Откройте JVisualVM (в папке bin Java 6)
  • В разделе "Приложения" выберите свой
    работающий экземпляр tomcat.
  • На вкладке «Профилировщик» нажмите «ЦП».
  • подождите немного, а затем нажмите
    и воссоздайте проблему.

На этом этапе профилировщик должен показать вам, что занимает процессорное время.

person Sean    schedule 30.05.2011
comment
Я не смог найти JVisualVM нигде в своей системе. Мне удалось найти и загрузить VisualVM и настроить его для мониторинга Tomcat через JMX. Однако в тот момент, когда веб-интерфейс перестает отвечать, VisualVM перестает получать обновления от JMX. Я не могу отслеживать Tomcat напрямую через локальный узел, так как Tomcat там не отображается. Я также заметил, что вкладка Sampler в VisualVM сообщает, что приложение закрывается вскоре после зависания Tomcat. - person Marcelo Cantos; 31.05.2011
comment
если вы используете java6, он будет находиться под %java_home%/bin - person Sean; 31.05.2011
comment
Немного больше поиска предполагает, что VisualVM — это то же самое, что и JVisualVM. Так ли это? Если это так, то этот инструмент не помог, как я описал выше. Должен ли я видеть Tomcat под локальным, или это JMX правильный способ подключения к нему? - person Marcelo Cantos; 31.05.2011
comment
и да, это одно и то же. jvisualvm — это имя исполняемого файла в папке bin, VisualVM — это имя в строке заголовка приложения. - person Sean; 01.06.2011
comment
Как у вас дела с Tomcat? Автономный, из IDE, сервис? - person Sean; 01.06.2011

Вот несколько документов о том, как обнаруживать зависания TeamCity и сообщать о них:

http://confluence.jetbrains.net/display/TCD65/Reporting+Issues#ReportingIssues-HangsandThreadDumps

person KIR    schedule 31.05.2011

(Я проголосовал за другие ответы, чтобы поблагодарить их за их усилия, но ни один из них не решил мою проблему, поэтому я отвечаю на свой вопрос отрицательно.)

Я сдался и согласился на обходной путь. Я использую TeamCity отдельно (не как .war) и добавил дополнительный порт HTTPS в свой брандмауэр. В такой конфигурации TeamCity работает безупречно.

Если кто-то может предложить решение, которое не повлечет за собой сжигание еще трех дней моей жизни, я с радостью передвину ему зеленую галочку.

person Marcelo Cantos    schedule 01.06.2011

была эта проблема сегодня, я выполнил ручную очистку истории сборки, и TC выполнил чистую сборку (снова собирает все изменения).

для доступа к этому через веб-браузер:

  • Администрирование вниз по левому меню,
  • нажмите Очистка истории сборки
  • начать уборку прямо сейчас.

дополнительно я почистил лог-файлы

person nologo    schedule 18.12.2012