/** {@inheritDoc} */ @Override public long getPhysicalMemorySize() { return getPhysicalMemoryPages() * pageMem.systemPageSize(); }
/** {@inheritDoc} */ @Override public long getOffheapUsedSize() { if (!metricsEnabled) return 0; return pageMem.loadedPages() * pageMem.systemPageSize(); }
/** {@inheritDoc} */ @Override public long getUsedCheckpointBufferSize() { return getUsedCheckpointBufferPages() * pageMem.systemPageSize(); }
/** {@inheritDoc} */ @Override public long getTotalAllocatedSize() { assert pageMem != null; return getTotalAllocatedPages() * (persistenceEnabled ? pageMem.pageSize() : pageMem.systemPageSize()); }
long pagesCnt = region.pageMemory().loadedPages(); long offHeapUsed = region.pageMemory().systemPageSize() * pagesCnt; long offHeapMax = region.config().getMaxSize(); long offHeapComm = region.memoryMetrics().getOffHeapSize();
/** * See {@link GridCacheMapEntry#ensureFreeSpace()} * * @param memPlc data region. */ public void ensureFreeSpace(DataRegion memPlc) throws IgniteCheckedException { if (memPlc == null) return; DataRegionConfiguration plcCfg = memPlc.config(); if (plcCfg.getPageEvictionMode() == DataPageEvictionMode.DISABLED || plcCfg.isPersistenceEnabled()) return; long memorySize = plcCfg.getMaxSize(); PageMemory pageMem = memPlc.pageMemory(); int sysPageSize = pageMem.systemPageSize(); CacheFreeListImpl freeListImpl = freeListMap.get(plcCfg.getName()); for (;;) { long allocatedPagesCnt = pageMem.loadedPages(); int emptyDataPagesCnt = freeListImpl.emptyDataPages(); boolean shouldEvict = allocatedPagesCnt > (memorySize / sysPageSize * plcCfg.getEvictionThreshold()) && emptyDataPagesCnt < plcCfg.getEmptyPagesPoolSize(); if (shouldEvict) { warnFirstEvict(plcCfg); memPlc.evictionTracker().evictDataPage(); memPlc.memoryMetrics().updateEvictionRate(); } else break; } }
/** * @throws Exception If failed. */ @Test public void testLoadedPagesCount() throws Exception { PageMemory mem = memory(); mem.start(); int expPages = MAX_MEMORY_SIZE / mem.systemPageSize(); try { for (int i = 0; i < expPages * 2; i++) allocatePage(mem); } catch (IgniteOutOfMemoryException e) { e.printStackTrace(); // Expected. assertEquals(mem.loadedPages(), expPages); } finally { mem.stop(true); } }
/** {@inheritDoc} */ @Override public long getOffheapUsedSize() { if (!metricsEnabled) return 0; return pageMem.loadedPages() * pageMem.systemPageSize(); }
/** {@inheritDoc} */ @Override public long getUsedCheckpointBufferSize() { return getUsedCheckpointBufferPages() * pageMem.systemPageSize(); }
/** {@inheritDoc} */ @Override public long getPhysicalMemorySize() { return getPhysicalMemoryPages() * pageMem.systemPageSize(); }
/** {@inheritDoc} */ @Override public long getTotalAllocatedSize() { assert pageMem != null; return getTotalAllocatedPages() * (persistenceEnabled ? pageMem.pageSize() : pageMem.systemPageSize()); }
long pagesCnt = region.pageMemory().loadedPages(); long offHeapUsed = region.pageMemory().systemPageSize() * pagesCnt; long offHeapMax = region.config().getMaxSize(); long offHeapComm = region.memoryMetrics().getOffHeapSize();
/** * See {@link GridCacheMapEntry#ensureFreeSpace()} * * @param memPlc data region. */ public void ensureFreeSpace(DataRegion memPlc) throws IgniteCheckedException { if (memPlc == null) return; DataRegionConfiguration plcCfg = memPlc.config(); if (plcCfg.getPageEvictionMode() == DataPageEvictionMode.DISABLED || plcCfg.isPersistenceEnabled()) return; long memorySize = plcCfg.getMaxSize(); PageMemory pageMem = memPlc.pageMemory(); int sysPageSize = pageMem.systemPageSize(); CacheFreeListImpl freeListImpl = freeListMap.get(plcCfg.getName()); for (;;) { long allocatedPagesCnt = pageMem.loadedPages(); int emptyDataPagesCnt = freeListImpl.emptyDataPages(); boolean shouldEvict = allocatedPagesCnt > (memorySize / sysPageSize * plcCfg.getEvictionThreshold()) && emptyDataPagesCnt < plcCfg.getEmptyPagesPoolSize(); if (shouldEvict) { warnFirstEvict(plcCfg); memPlc.evictionTracker().evictDataPage(); memPlc.memoryMetrics().updateEvictionRate(); } else break; } }