Apache Ignite 中的内存指标

Memory Metrics in Apache Ignite

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 个对象太少,无法可靠地观察任何指标的差异。