您是否使用过eclipse的MAT(Memory Analyzer Tool).它真的很酷.(1.5G堆转储文件kill jhat,ibm的堆转储分析器与OOME).MAT活着,快速,美丽,强大.
我想知道ehcahce键的内存大小是多少,所以写下面的oql.
SELECT c.key.@retainedHeapSize
FROM net.sf.ehcache.store.compound.HashEntry c
Run Code Online (Sandbox Code Playgroud)
不幸的是,sum(),max(),min()这样的组函数不存在.我将总结果行(约60,000)导出到excel文件并在excel表中求和.
你有关于使用组功能的提示或隐藏(?)功能/功能(如sum())吗?
据Memory Analyzer文档我所知,它的OQL中没有聚合函数.
但是,在VisualVm(自1.6以来包含在JDK中并可作为独立应用程序下载)中,您可以这样做:
select sum(heap.objects('net.sf.ehcache.store.compound.HashEntry'), 'rsizeof(it)')
Run Code Online (Sandbox Code Playgroud)
或者,如果您想要浅尺寸而不是保留尺寸 - 将"rsizeof"更改为"sizeof":
select sum(heap.objects('net.sf.ehcache.store.compound.HashEntry'), 'sizeof(it)')
Run Code Online (Sandbox Code Playgroud)