2012-02-17 3 views
5

Средство мониторинга памяти Netbeans ( - фактически встроенный VisualVm тот же инструмент, что и VisualVm) имеет интересную метрику для отслеживания утечек памяти: показатель выживших поколений.Понимание выживших поколений Метрика

definition of this metric можно найти на сайте Oracle.com:

  • Поколение множество экземпляров, созданных в пределах того же интервала GC (между двумя сборки мусора)
  • уцелевшей поколение поколение, которое выживает по крайней мере, один сбор мусора. Число уцелевших коллекций мусора - возраст поколения - это его уникальный идентификатор
  • Выжившее значение Поколения (метрики) является числом различных поколений выживающих, которые в настоящее время живы в куче (количество поколений с разными возрастами поколения)

У меня вопрос о втором определении. Я знаю, что это значит для экземпляра , чтобы выжить в мусорной коллекции. Но я не уверен, что это значит для поколения, чтобы выжить в мусорной коллекции. Означает ли это, что не менее одного экземпляра поколения выживает в мусорной коллекции?

+0

Небольшая коррекция: инструмент мониторинга памяти Netbeans не является встроенным VisualVM. VisualVM содержит удаленную версию NetBeans Profiler. Профилирование CPU и памяти в VisualVM основано на коде Profiler NetBeans. –

+0

Спасибо за информацию. Я обновил свой вопрос. – barjak

ответ

4

Да. В основном это означает, что среди экземпляров, созданных между сборщиками мусора X и X + 1, есть некоторые, которые сейчас живы, когда происходят больше сборок мусора.

На мой взгляд, все три определения имеют смысл только для каждого класса. Я имею в виду, что значение «Выжившие поколения (метрики)» данного класса - это количество разных поколений этого класса, которые теперь живы в куче.

+0

Да, спасибо, указав, что NetBeans/VisualVM может дать этот показатель для каждого класса. И это действительно очень полезная информация для отслеживания утечек памяти! – barjak

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