Оттуда взять свалку резьбы от Tomcat. Я хочу отслеживать текущие потоки на Tomcat в определенное время.Сжатие нити Tomcat
Примечание: Я делал это на веб-логике, но я не знаю, как это сделать на Tomcat.
Оттуда взять свалку резьбы от Tomcat. Я хочу отслеживать текущие потоки на Tomcat в определенное время.Сжатие нити Tomcat
Примечание: Я делал это на веб-логике, но я не знаю, как это сделать на Tomcat.
Если вы используете Linux, вы можете отправить kill -3 [pid вашего tomcat], и он сбрасывает все текущие потоки в файле catalina.out.
Попробуйте профилировщик netbeans профилировать любые веб-приложения.
добавить Java мелодию на ваш сервер https://code.google.com/p/javamelody/
это даст вам много информации, включая потоки в режиме исполнения
Существует простой способ контролировать TOMCAT темы и сделать свалку. Начните с кота на следующих параметрах Java:
-Dcom.sun.management.jmxremote.port=<some free port>
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
После того, как кот перезапуск вы можете просто начать JConsole (часть JDK) или VisualVM и создать новое соединение JMX к порту вы выбрали выше.
В обоих инструментах вы также можете взять свалку;)
!!! Но делайте это только в закрытой/защищенной среде - так как нет аутентификации. !!!
Следующие шаги должны помочь вам получить текущие Java темы работы и анализировать их:
[email protected]:~# sudo -u $TOMCAT_USER $JAVA_HOME/bin/jstack -J-d64 -l $(ps aux | grep '[c]atalina' | awk '{print $2}') > ~/threads.log
Примечание: Замените $JAVA_HOME
на ваш путь к вашему текущему JDK, $TOMCAT_USER
с пользователем, управляющим Tomcat; если вы передаете неправильный пользователь или даже с помощью корня, вы получите сообщение об ошибке, как это:
3047: well-known file is not secure
Я хотел бы добавить, что это, скорее всего, будет 'catalina.out' –
Хорошее дополнение действительно. – Julien
Лучший ответ здесь: http://stackoverflow.com/questions/4876274/kill-3-to-get-java-thread-dump – arun