Метрики памяти в Apache Ignite - PullRequest
0 голосов
/ 18 марта 2020

Это мой код,

    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 объектом?

1 Ответ

1 голос
/ 18 марта 2020

По умолчанию Apache Ignite не будет хранить объекты в куче, поэтому не следует полагаться на показатели кучи.

Обратите внимание, что 100 объектов слишком мало, чтобы надежно наблюдать разницу в любых показателях.

...