Подтвердить что ты не робот

Ускорение Tomcat в режиме отладки с помощью Eclipse IDE

Запуск Tomcat через eclipse отлично работает в режиме без отладки, но не в режиме отладки. Когда я пытаюсь запустить сервер Tomcat в режиме отладки, вывод консоли выглядит нормально, но затем начинает замедляться и в итоге просто останавливается, привязывая процессор на 100%. Я не думаю, что это релевантно, но на всякий случай - здесь консоль выводит прямо, когда он начинает замедляться и в конечном итоге останавливается (останавливаясь, я имею в виду больше не консольный вывод, а все еще 100% процессор).

2009-09-02 14:35:30,859 INFO   NONE org.springframework.context.weaving.DefaultContextLoadTimeWeaver:72 - Found Spring JVM agent for instrumentation
2009-09-02 14:35:49,562 INFO   NONE org.springframework.beans.factory.support.DefaultListableBeanFactory:414 - Pre-instantiating singletons in org.s[email protected]ed889d: defining beans [...
2009-09-02 14:37:31,031 INFO   NONE org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean:221 - Building JPA container EntityManagerFactory for persistence unit ...

Я пробовал все, что мог придумать, чтобы исправить это:

  • рабочий каталог cleanesd tomcat
  • перезапущен eclipse
  • перезагрузка Windows
  • обновил/очистил все проекты

У меня была первая проблема на прошлой неделе с использованием eclipse ganymede. Я работал нормально в режиме отладки в течение нескольких месяцев до этой проблемы. Я не внес существенных изменений в наш проект, которые могли бы вызвать это. В конце концов, я обновился, чтобы затмить galileo, который решил мою проблему. Теперь через 2 дня у меня такая же проблема в галилео. Как я сказал, он отлично работает в режиме без отладки. Любая помощь очень ценится.

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

4b9b3361

Ответ 1

У меня проблема! Как только я понял это, я помню, что это произошло раньше. Я очистил все свои точки останова, и все работает отлично. Я понятия не имею, почему это приведет к результату, который есть, но он работает.

Ответ 2

Я просто столкнулся с этой проблемой сам, и это решение помогло мне. Тем не менее - у меня было только 1 контрольная точка, а не 20+ других плакатов. Однако моя точка останова была точкой останова метода, а не точкой прерывания линии. Интересно, может ли вызвать множество вызовов метода при запуске tomcat в сочетании с точкой останова метода? Я просто попробовал небольшой эксперимент:

  • Установка точки останова линии и запуск режима отладки - 5 секунд запуск (нормальный)
  • Установка точки останова метода и начало режима отладки -..... не желая ждать ( > 90 секунд).

Я предполагаю, что это проблема.

Ответ 3

У меня была такая же проблема в Галилее. Быстрый запуск, но обход отладки. Благодаря сообщениям выше, я очистил все точки останова и перезапустил Tomcat. Это волшебное решение проблемы. fyi - У меня были две точки останова метода и другие контрольные точки линии раньше. Я провела тесты, чтобы подтвердить приведенную выше теорию о замедлении темпов замещения метода. Вот что я нашел. Похоже, что это не точка прерывания метода, которая является проблемой, проблема была точкой останова метода, которая все еще отображалась в списке точек останова в отладочном представлении, но не существовала в коде. Я имею в виду, что я изменил параметры этого метода, но прежняя точка останова со старыми параметрами все еще существовала в списке точек останова. Это было преступником, когда я удалил это, остальные точки останова метода не замедляли работу сервера. Таким образом, похоже, что затмение пыталось найти что-то не существующее, которое, похоже, замедлило его. Надеюсь, это поможет.

Ответ 4

Я тоже наткнулся на эту проблему.

Я закрыл все нерелевантные проекты. Очистили мои контрольные точки. Увеличена память виртуальной памяти STS. Следуйте за этим блогом: http://searchforsolutions.wordpress.com/2011/12/01/eclipse-jvm-settings-for-optimized-performance/ Отключено средство проверки инструментов JBoss и все другие валидаторы.

Теперь STS работает как шарм!

Ответ 5

Измените уровень ведения журнала по умолчанию:

<root>
  <level value="DEBUG" />
  <appender-ref ref="ConsoleAppender" />
</root>

To:

<root>
  <level value="OFF" />
  <appender-ref ref="ConsoleAppender" />
</root>