2014-09-13 10 views
2

Я запускаю веб-приложение на tomcat. Процесс Tomcat подвешивается, когда у вас много запросов. Поскольку это производственное веб-приложение, я все время не могу контролировать процесс java-процесса tomcat/thread dump вручную.Автоматизация Tomcat Thread/heap dump для дальнейшего анализа

Я уже позволил JMX удаленного порта на коте

-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=2222 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true

Мой вопрос: Когда процесс кота попадет высокий CPU [Нити]/использование памяти/у Хунга, в этот момент времени можно ли автоматически собирать дамп потока tomcat в нужное место на диске [командной строки или программно]?

+0

'jmx' с' = false' SSL на производственной машине? Хорошая работа. –

+0

Это пример args для открытия порта jmx, который я указал. – Ashoka

ответ

0

This article объясняет, как вы можете планировать автоматические потоки резьбы. Предлагаю взглянуть.

0

Эти опции:

JAVA_OPTS='-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/path/to/dir'

сделает дамп при Tomcat переполнении памяти.

Также -verbose:gc вариант может быть полезен в этом случае.

В.2.3 -verbose: дс вариант

Опция -verbose:gc включает ведение журнала сбора мусора (GC) информации. Его можно комбинировать с другими опциями HotSpot VM , такими как -XX:+PrintGCDetails и -XX:+PrintGCTimeStamps, чтобы получить дополнительно информацию о GC. Информационный вывод включает в себя размер поколений до и после каждого GC, общий размер кучи, размер продвигаемых объектов и время.

Troubleshooting Guide for HotSpot VM > Command-Line Options