This is my code,
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 );
This is my Output,
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
In both cases( for 1 object and 100 object) used heap printing the same value.. How can i know this is the size of memory used by one Object and this is the size of memory used by 100 object?
最佳答案
默认情况下,Apache Ignite 不会在堆上存储对象,因此您不应依赖堆指标。
请注意,100 个对象太少,无法可靠地观察任何指标的差异。
关于java - Apache Ignite 中的内存指标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60734077/