высокопроизводительный Java-профилировщик - PullRequest
1 голос
/ 01 сентября 2010

Я вижу, что есть несколько вопросов с "рекомендациями по профилированию Java", на которые здесь уже дан ответ. Мой случай немного специфичен.

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

Я работаю на Tomcat 6.0.29 на JDK 1.6.0_20 в Linux.

Я бы предпочел бесплатный профилировщик с открытым исходным кодом. Но если есть коммерческий, который, безусловно, является лучшим выбором, то это тоже подойдет.

Ответы [ 3 ]

3 голосов
/ 01 сентября 2010

Посмотрите на jvisualvm в JDK.

Он может подключаться к работающему процессу как локально, так и по сети (но с ограниченной функциональностью) и позволяет выполнять профилирование как для процессора, так и для памяти.Посмотрите на http://blip.tv/file/1582849

1 голос
/ 26 августа 2015

Я предпочитаю Java Flight Recorder .Это практически не приводит к снижению производительности и имеет приятный графический интерфейс.Добавьте параметры JVM

-XX:+UnlockCommercialFeatures -XX:+FlightRecorder
-XX:StartFlightRecording=name=test,filename=test.jfr,dumponexit=true 

и откройте запись с помощью JMC.

0 голосов
/ 01 сентября 2010

Не вдаваясь в борьбу за профилировщик (вы можете за это погуглить), выборка ЦП обычно распознается одним из наименее вычислительных методов профилирования. Это очень важно, если вы профилируете приложение в работе.

Прочитайте следующий ТАК: - Какой инструмент профилирования Java вы используете и какой инструмент считаете лучшим?

Вы можете даже просто использовать JDK и инструменты hprof , хотя даже базовый профилировщик, вероятно, будет лучше.

Хитрость в том, чтобы ограничить количество профилируемых классов, как говорит скафман.

...