Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Eclipse内存分析器工具中将@retainedHeapSize与oql相加_Java_Eclipse_Oql - Fatal编程技术网

Java 如何在Eclipse内存分析器工具中将@retainedHeapSize与oql相加

Java 如何在Eclipse内存分析器工具中将@retainedHeapSize与oql相加,java,eclipse,oql,Java,Eclipse,Oql,您使用过eclipse中的MAT(内存分析器工具)吗。 这真的很酷。(1.5G堆转储文件kill jhat,ibm的带OOME的堆转储分析器)。 MAT是活生生的、快速的、美丽的、强大的 我想知道ehcahce键的内存大小是多少,所以在下面写oql SELECT c.key.@retainedHeapSize FROM net.sf.ehcache.store.compound.HashEntry c 不幸的是,像sum()、max()、min()这样的组函数不存在。 我将总结果行(约60

您使用过eclipse中的MAT(内存分析器工具)吗。 这真的很酷。(1.5G堆转储文件kill jhat,ibm的带OOME的堆转储分析器)。 MAT是活生生的、快速的、美丽的、强大的

我想知道ehcahce键的内存大小是多少,所以在下面写oql

SELECT c.key.@retainedHeapSize 
FROM net.sf.ehcache.store.compound.HashEntry c 
不幸的是,像sum()、max()、min()这样的组函数不存在。 我将总结果行(约60000行)导出到excel文件,并在excel表中求和


你有关于使用组函数(如sum())的提示或隐藏(?)函数/功能吗

从内存分析器文档中可以看出,它的OQL中没有聚合函数

但是,在中(自1.6和以来随JDK提供),您可以这样做:

select sum(heap.objects('net.sf.ehcache.store.compound.HashEntry'), 'rsizeof(it)')
或者,如果您想要浅尺寸而不是保留尺寸,请将“rsizeof”更改为“sizeof”:


您可以从OQL结果生成直方图-选择“显示为直方图”图标。
根据此直方图,您可以使用“计算精确保留集”图标计算保留大小。

似乎无法在MAT或OQL中进行计算

然而,你可以用另一种方式来做


执行查询后,可以将结果导出到cvs文件。然后,您可以通过excel sum工具获得结果

如果你喜欢MAT而不是VisualVM,并且不坚持OQL,那么你也可以使用它的方解石插件()

总和的一个例子是:

SELECT sum(retainedSize(n.this['key']))
FROM "java.util.HashMap$Node" n

您可以在此处将其功能与oql进行比较:

完美!第三季度~~~~~
SELECT sum(retainedSize(n.this['key']))
FROM "java.util.HashMap$Node" n