2012-02-17 21 views
5

La herramienta de supervisión de memoria de Netbeans (que es en realidad una VisualVm integrada la misma herramienta que VisualVm) tiene una métrica interesante para rastrear pérdidas de memoria: la métrica Surviving Generations.Comprensión de la métrica de Surviving Generations

A definition of this metric se pueden encontrar en oracle.com:

  • una Generación es un conjunto de instancias creadas dentro del mismo intervalo de GC (entre dos colecciones de basura)
  • una Generación Sobrevivir es una generación que sobrevive al menos una recolección de basura. El número de colecciones de basura sobrevivido - la edad de la generación - es su identificador único
  • Sobrevivir Generaciones valor (métricas) es el número de diferentes generaciones que sobreviven que están vivos en el montón (número de generaciones con diferentes edades generación)

Tengo una pregunta sobre la segunda definición. Sé lo que significa para una instancia de sobrevivir una recolección de basura. Pero no estoy seguro de lo que significa para una generación sobrevivir una recolección de basura. ¿Significa que al menos una instancia de de la generación sobrevive a la recolección de basura?

+0

Corrección pequeña: la herramienta de supervisión de la memoria de Netbeans no es un VisualVM integrado. VisualVM contiene una versión reducida de NetBeans Profiler. Los perfiles de CPU y memoria en VisualVM se basan en el código NetBeans Profiler. –

+0

Gracias por la información. Actualicé mi pregunta – barjak

Respuesta

4

Sí. Básicamente eso significa que, entre las instancias que se crearon entre la recolección de basura X y X + 1, hay algunas, que están vivas ahora, cuando se han producido más recolecciones de basura.

En mi opinión, las tres definiciones solo tienen sentido por clase. Quiero decir, "Sobrevivir el valor de las generaciones (métricas)" de la clase dada es la cantidad de Generaciones diferentes de esta clase que ahora están vivas en el montón.

+0

Sí, gracias por señalar que NetBeans/VisualVM puede proporcionar esta métrica por clase. ¡Y de hecho es una información muy útil para rastrear fugas de memoria! – barjak