Я профилирую большой сервер jboss с множеством классов. Когда я профилирую ЦП, результат всегда примерно такой: java.util.TimerThread.run() = 62% и java.util.concurrent.ThreadPoolExecutor$Worker.run() = 34,8%. При этих двух методах тысячи других методов имеют 0%. Я думаю, что это серьезная ошибка, потому что большинство этих методов выполняются в этих потоках. Но как я могу увидеть, какой из них... Функция ThreadDump для этого тоже бесполезна.
ЦП профиля VisualVM, но run () - методы мешают
Ответы (1)
Если вы не знаете, какая часть кода медленная, лучше начать с выборки ЦП. Как только вы лучше узнаете (на основе результатов выборки), что не так, вы можете профилировать только часть вашего сервера jboss. См. разделы Профилирование с помощью VisualVM, часть 1 и Профилирование с помощью VisualVM, часть 2, чтобы получить дополнительную информацию о профилировании и о том, как установить корни профилирования и инструментальный фильтр.
person
Tomas Hurka
schedule
20.02.2012