Memory Metrics in Apache Ignite

JAYAPRAKASH :

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?

alamar :

By default, Apache Ignite will not store objects on heap so you should not rely on heap metrics.

Please note that 100 objects is too few to reliably observe difference in any metrics.

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=304205&siteId=1