【发布时间】:2020-06-29 05:23:21
【问题描述】:
这是我的代码,
c.put((long) 1,"JP");
ClusterGroup remoteGroup = ignite.cluster().forRemotes();
ClusterMetrics metrics = remoteGroup.metrics();
long iniHeap = metrics.getHeapMemoryInitialized();
long totHeap = metrics.getHeapMemoryTotal();
long usedHeap = metrics.getHeapMemoryUsed();
long maxHeap = metrics.getHeapMemoryMaximum();
System.out.println("Heap Memory used " + usedHeap );
System.out.println("Heap Memory Total " + totHeap );
System.out.println("Heap Memory Maximum " + maxHeap );
System.out.println("Heap Memory Initial " + iniHeap );
for(long i=2;i<100;i++)
{
c.getAndPut(i, "JP");
}
long iniHeap1 = metrics.getHeapMemoryInitialized();
long totHeap1 = metrics.getHeapMemoryTotal();
long usedHeap1 = metrics.getHeapMemoryUsed();
long maxHeap1 = metrics.getHeapMemoryMaximum();
System.out.println("Heap Memory used " + usedHeap1 );
System.out.println("Heap Memory Total " + totHeap1 );
System.out.println("Heap Memory Maximum " + maxHeap1 );
System.out.println("Heap Memory Initial " + iniHeap1 );
这是我的输出,
Heap Memory used 30410944
Heap Memory Total 4246732800
Heap Memory Maximum 4246732800
Heap Memory Initial 266338304
Heap Memory used 30410944
Heap Memory Total 4246732800
Heap Memory Maximum 4246732800
Heap Memory Initial 266338304
在这两种情况下(对于 1 个对象和 100 个对象)都使用堆打印相同的值。我怎么知道这是一个对象使用的内存大小,这是 100 个对象使用的内存大小?
【问题讨论】:
标签: java caching memory ignite metrics