Профилирование VisualVM загрязняет результаты - PullRequest
1 голос
/ 10 января 2012

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

Я постоянно вижу, как 80 МБ выделяется в течение 5 минут, что связано с сериализацией результатов профилирования памяти через соединение RMI JMXBean. Эта память всегда в поколении 1 и сразу же GC'd, когда я прошу об этом, но это все еще раздражает, что это обнаруживается.

Можно ли отфильтровать результаты профилирования памяти по классу, который выполнил распределение?

Ответы [ 2 ]

3 голосов
/ 10 января 2012

Попробуйте JProfiler , он не использует ресурсы кучи.Вы можете увидеть здесь:

Почему пустая Java-программа потребляет память?

, что VisualVM даже выделяет много вещей при профилировании пустого приложения.

1 голос
/ 10 января 2012

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

...