2010-12-14 1 views
50

Насколько я могу судить, you can only profile a running application using VisualVM.как профилировать запуск приложения с помощью visualvm

Кто-нибудь знает способ профилирования запуска и запуска приложения Java с помощью VisualVM?

Я убежден, что должен быть какой-то способ, иначе это будет серьезный надзор.

Надеюсь, что я просто неправильно прочитал документацию.

Thanks, p.

ответ

9

Вы настройка профилирования с помощью -Xrunjdwp»опции` командной строки Если да, то этот вариант имеет "suspend" parameter только для этой цели:

Правда, если цель VM должны быть немедленно приостановлено Перед основной класс загружается; в противном случае ложного

Пример из моей собственной конфигурации:.

-Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n 

Я использую это с профилировщик YourKit, но я думаю, что принцип тот же.

+0

Я не использую вариант Xrunjdwp, должен ли я быть? значение по умолчанию для suspend является «true», не так ли? – pstanton

+0

@pstanton: Я не совсем уверен в том, что и как "Xrunjdwp". Я предлагаю прочитать его, посмотреть, можете ли вы его использовать. – skaffman

+0

@pstanton: Какая именно команда -Xrunjdwp вы использовали? Когда я пытаюсь использовать его с VisualVM, VisualVM больше не может правильно подключиться к процессу JVM. –

0

Обе распространенные среды разработки Java (NetBeans/Eclipse) поддерживают выполнение приложения непосредственно с подключенным VisualVM. В случае Eclipse вы должны установить plugin. В случае NetBeans поддержка AFAIK уже интегрирована.
Даже если у вас нет источников, вы все равно можете запускать файлы JAR через обе среды и, следовательно, запускать приложение, связанное с VisualVM.

+0

плагин eclipse не помогает с этим. он просто запускает VVM, когда вы начинаете процесс. – pstanton

17

Используйте заслонку затмения и установите точку останова в соответствующем месте основного метода.

Затем, начните в режиме отладки, включите профилирование в visualVM, а затем возобновите использование затмения.

Это не будет загружать информацию о классе и прочее, но для меня это достаточно хорошо.

+0

Я пробовал это и могу подтвердить, что этот подход работает. – Raedwald

8

Я нашел Startup Profiler полезные:

Startup Profiler плагин для VisualVM 1.3.6 позволяет инструментальный профилирования локальных Java 5+ приложений от их запуска. Это также полезно при профилировании короткодействующих процессов .

+9

Это работало для меня, но обязательно загрузите отдельное приложение VisualVM и не пытайтесь повторно использовать тот, который поставляется с JDK; по какой-то причине плагин Startup Profiler недоступен для версии JDK для акций. – Max

 Смежные вопросы

  • Нет связанных вопросов^_^