2011-06-29 13 views
9

Ha utilizado MAT (Memory Analyzer Tool) de eclipse. es genial. (El archivo de volcado de almacenamiento dinámico 1.5G mata a jhat, el analizador de volcado de almacenamiento de ibm con OOME). MAT es vivo y rápido y hermoso y poderoso.cómo sumar @retainedHeapSize con oql en la herramienta Eclipse Memory Analyzer

Me pregunto cuánto es el tamaño de la memoria de la tecla ehcahce, así que escriba oql a continuación.

SELECT [email protected] 
FROM net.sf.ehcache.store.compound.HashEntry c 

Desafortunadamente, la función de grupo como sum(), max(), min() no existe. Exporto la fila de resultados totales (aproximadamente 60,000) al archivo de Excel y sumo en la hoja de Excel.

¿Tiene la función u función de sugerencia u oculto (?) Sobre el uso de la función de grupo (como sum())?

Respuesta

6

Por lo que puedo decir de la documentación de Memory Analyzer no hay funciones de agregación en su OQL.

Sin embargo, en VisualVm (incluido con el JDK desde 1.6 y downloadable as a standalone application), puede hacerlo de esta manera:

select sum(heap.objects('net.sf.ehcache.store.compound.HashEntry'), 'rsizeof(it)') 

o, si desea que el tamaño de poca profundidad en lugar del tamaño conservado - cambiar el "rsizeof "a 'sizeof':

select sum(heap.objects('net.sf.ehcache.store.compound.HashEntry'), 'sizeof(it)') 
2

Se puede generar un histograma de los resultados OQL - seleccione el icono 'Mostrar como Histograma'. A partir de este histograma puede calcular el tamaño retenido utilizando el icono "Calcular conjunto conservado preciso".