2011-06-29 17 views
9

您是否使用過eclipse中的MAT(內存分析工具)。 這真的很酷(1.5G堆轉儲文件kill jhat,ibm的堆轉儲分析器和OOME)。 MAT是活着,快速,美麗和強大。如何在Eclipse Memory Analyzer工具中將@retainedHeapSize與oql相加

我想知道ehcahce鍵的內存大小是多少,所以在下面寫下oql。

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

不幸的是,像sum(),max(),min()這樣的組函數不存在。 我在excel表格中輸出總計結果行(大約60,000)以excel文件和總和。

是否有關於使用組函數(如sum())的提示或隱藏(?)功能/特性?

回答

6

據我從內存分析器文檔可以看出,它的OQL中沒有聚合函數。

然而,在VisualVm(因爲1.6和downloadable as a standalone application包含在JDK),你可以做這樣的:

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

,或者,如果你想淺大小,而不是保留的大小 - 改變「rsizeof 「到」sizeof「:

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

您可以從OQL結果生成直方圖 - 選擇」顯示爲直方圖「圖標。 從這個直方圖中,您可以使用「計算精確保留集」圖標來計算保留的大小。

相關問題