Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Как обнаружить причину утечки памяти


Автор: Barvetal 18.4.2007, 12:53
Всем привет!

Насколько я знаю, есть у java-машины разные настройки для логирование работы сборщика мусора: -verbose:gc -XX:+PrintGCTimeStamps -XX:+PrintGCDetails

Насколько я знаю, в природе есть утилиты для разбора этих логов.

Скажите пожалуйста, какие из этих утилит наиболее эффективны для нахождения причин утечки памяти (java 1.5.0.11)? Есть где-то статья, как анализировать логи сборщика мусора?

Спасибо!

Автор: AntonSaburov 18.4.2007, 13:09
Не уверен, что можно найти утечки - ибо сборщик мусора не отслеживает что создается - он просто ищет, что можно удалить. И все. Хотя может быть есть информация более интересная - если найдется - буду очень признателен за опубликование.

Автор: COVD 18.4.2007, 15:56
Подтвердить факт наличия утечки поможет лог gc. Достаточно простейшего, который инициализируется параметром JVM  -Xloggc: . 

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

Автор: BASF 27.8.2009, 13:53
http://www.quizful.net/post/java-memory-leak-visualvm

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)