Внезапное увеличение потоков - JConsole

Иногда мое приложение становится очень медленным, и я не знаю почему.

Я обнаружил, что, когда это происходит, также происходит довольно странное увеличение количества потоков в JConsole.

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

Кто-нибудь знает, как разрешить эту тайну? Печать JConsole ниже. (Произошло это около 12:00).

Печать резьбы JConsole


person ViniciusPaiva    schedule 07.08.2015    source источник
comment
Здесь действительно недостаточно информации. Вам действительно нужно работать с ногами. Соберите дампы потоков до и после того, как произойдет загадочное событие, и сравните их. Это потребует немного удачи / времени / настойчивости. Удачи!   -  person jgitter    schedule 07.08.2015
comment
Как собрать эти дампы веток? Проблема в том, что я не знаю, как манипулировать этими данными.   -  person ViniciusPaiva    schedule 07.08.2015
comment
Вы можете создать дамп потока с помощью jstack, который поставляется с вашим JDK. Посмотрите в папку bin.   -  person jgitter    schedule 07.08.2015
comment
Спасибо! Безопасно ли часто использовать это в производственной среде? Это дорого стоит на сервере?   -  person ViniciusPaiva    schedule 07.08.2015
comment
Посмотрите здесь: stackoverflow.com/questions/2124672/java- стек-дамп-на-окнах   -  person Sleafar    schedule 07.08.2015
comment
Как вы думаете, как JConsole отображает данные этого потока на вашем снимке экрана? Вот только дамп потока немного разобрали для удобного представления. Это означает, что у вас уже есть дамп потока.   -  person Marko Topolnik    schedule 07.08.2015
comment
Вы, вероятно, обнаружите, что это увеличение количества потоков происходит из пула потоков, и причина в том, что некоторое количество его потоков застревает при обработке запроса. Пул потоков компенсирует это за счет свежих потоков. Поэтому используйте дамп потока, чтобы увидеть, где потоки могут застрять.   -  person Marko Topolnik    schedule 07.08.2015