2013-06-22 4 views
1

Я использую java visualvm для целей профилирования. Я столкнулся два вопроса:Java VisualVm отключить PID

1) Как statetd в документации

Когда новое приложение локального Java запускается, узел для этого приложения появляется при локальном узле. При завершении приложения узел приложения исчезает.

Это происходит со мной, когда я запускаю приложение для java, оно работает в течение нескольких секунд. Visualvm показывает этот PID, но когда моя программа останавливается, этот PID также исчезает.

Как я могу решить эту проблему?

Во-вторых, я запускаю основную функцию, в которой есть вызовы для других функций, присутствующих в других классах. Я хочу также вычислить время для этих функций. Как я могу достичь этой задачи?

ответ

3
  1. не проблема. Когда процесс java завершается, вы больше не можете подключиться к нему.
  2. вы можете запустить тот же код 1000 раз и сделать снимок в VisualVM для анализа использований памяти, вычисления и т.д. Вы должны будете разделить результаты на 1000.

Это дает лучшие результаты (время в 1000 прогонов и получение среднего значения), так как одиночный прогон может занять различное время при каждом прогоне.