Memory Usage

October 18, 2021 ยท View on GitHub

SnappyData provides statistics for system memory, JVM heap, garbage collection, and table sizes.

You can use these statistics to analyze your application's memory usage. An example follows the table.

TypeCachePerfStats
NameRegionStats-<table> and RegsionStats-partition-<table>
Statisticentries
DescriptionNumber of rows in the replicated or partitioned table.
TypePartitionedRegionStats
NamePartitionedRegion/<schema>/<table>Statistics
StatisticdataStoreEntryCount and dataStoreBytesInUse
DescriptionNumber of rows/bytes in a partitioned table, including redundant copies.
TypeVMMemoryUsageStats
NamevmHeapMemoryStats
StatisticusedMemory and maxMemory
DescriptionUsed heap and maximum heap, in bytes.
TypeVMMemoryUsageStats
NameOffHeapMemoryStats
StatisticusedMemory, maxMemory, freeMemory
DescriptionUsed off-heap memory, maximum (amount allocated) off-heap memory, and free off-heap memory in bytes.
TypeVMMemoryPoolStats
NameParSurvivorSpace, ParEdenSpace, CMSOldGen
StatisticcurrentUsedMemory
DescriptionEstimated used memory, in bytes, for each heap memory pool.
TypeVMGCStats
NameParNew, ConcurrentMarkSweep
StatisticcollectionTime
DescriptionApproximate elapsed time that this garbage collector spent doing collections.
TypeLinuxSystemStats
Name<hostname>
StatisticpagesSwappedIn, pagesSwappedOut
DescriptionNumber of pages that have been brought into memory from disk or flushed out of memory to disk by the operating system. These paging operations seriously degrade performance.

Example: Heap Usage

This VSD chart shows the heap usage in a fabric server plotted against the entry counts in each of the replicated and partitioned tables used in an application. This suggests that heap is growing over time due to an increase in the number of rows in the ORDER_LINE table. Several associated tables are growing in size as well.

This growth can be verified by looking at the bytes used by each of the partitioned tables. The ORDER_LINE table is responsible for most of the heap growth.