2011-06-29 13 views
9

Eclipse'den MAT (Memory Analyzer Tool) kullandınız mı? gerçekten harika. (1.5G yığın dökümü dosyası, juse'i, OOM'lu IBM'in yığın dökümü analizcisini öldürür). MAT canlı, hızlı ve güzel ve güçlüdür.Eclipse Bellek Analiz Aracı'nda oql ile @retainedHeapSize nasıl toplamlanır?

Ehcahce anahtarının bellek boyutunun ne kadar olduğunu merak ediyorum, o yüzden aşağıda oql yazın.

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

Ne yazık ki, grup işlevi sum(), max(), min() gibi mevcut değil. Toplam sonuç satırını (yaklaşık 60.000) excel dosyasına excel dosyasına ve toplamına aktarıyorum.

Grup işlevini kullanma hakkında ipucu veya gizli (?) Işlev/özellik var mı (sum() gibi)?

cevap

6

Bellek Analizcisi belgelerinden anlayabildiğim kadarıyla, OQL'de toplama işlevleri yoktur. "Rsizeof değiştirmek - yerine muhafaza boyutta sığ boyutunu istiyorsanız

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

ya,:

Ancak VisualVm içinde böyle yapabilirsin (1.6 ve downloadable as a standalone application beri JDK ile birlikte) msgstr "" "için":

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

OQL sonuçlarından bir Histogram oluşturabilirsiniz - "Histogram Olarak Göster" simgesini seçin. Bu histogramdan, "Kesin Tutarlı Kümeleri Hesapla" simgesini kullanarak alıkonan büyüklüğü hesaplayabilirsiniz.

İlgili konular