BigMemory 4.4.0 | Product Documentation | BigMemory Max Configuration Guide | Sizing Storage Tiers | The Sizing Attributes
 
The Sizing Attributes
Tuning BigMemory Max often involves sizing the data storage tiers appropriately. You can size the different data tiers in a number of ways using simple sizing attributes. These sizing attributes affect memory and disk resources.
The following table summarizes the sizing attributes you can use:
Tier
Attribute
Description
Memory Store (Heap)
maxEntriesLocalHeapmax
BytesLocalHeap
The maximum number of entries or bytes a data set can use in local heap memory, or when set at the CacheManager level (maxBytesLocalHeap only), as a pool available to all data sets under that CacheManager. This setting is required for every cache or at the CacheManager level.
Pooling is available at the CacheManager level using maxBytesLocalHeap only.
Off-heap Store
maxBytesLocalOffHeap
The maximum number of bytes a data set can use in off-heap memory, or when set at the CacheManager level, as a pool available to all data sets under that CacheManager.
Pooling is available at the CacheManager level.
Disk Store
maxEntriesLocalDiskmax
BytesLocalDisk
The maximum number of entries or bytes a data set can use on the local disk, or when set at the CacheManager level (maxBytesLocalDisk only), as a pool available to all data sets under that CacheManager. Note that these settings apply to temporary disk usage (localTempSwap); these settings do not apply to disk persistence.
Pooling is available at the CacheManager level using maxBytesLocalDisk only.
Note:
Size-based cache capacity constraints at heap tier (maxBytesLocalHeap) is deprecated now and not expected to work from Java 17 onwards. Consider maxEntriesLocalHeap instead.
The following table summarizes sizing attributes for distributed BigMemory Max (using a Terracotta Server or a Server Array).
Tier
Attribute
Description
Heap
maxEntriesLocalHeapmax
BytesLocalHeap
The maximum number of cache entries or bytes a cache can use in local heap memory, or, when set at the CacheManager level (maxBytesLocalHeap only), a local pool available to all caches under that CacheManager. This setting is required for every cache or at the CacheManager level.
Pooling is available at the CacheManager level using maxBytesLocalHeap only.
Off-heap
maxBytesLocalOffHeap
The maximum number of bytes a cache can use in off-heap memory, or, when set at the CacheManager level, as a pool available to all caches under that CacheManager. This setting requires BigMemory.
Pooling is available at the CacheManager level.
Local disk
N/A
Distributed caches cannot use the local disk.
Pooling at the CacheManager level is not available.
Terracotta Server Array
maxEntriesInCache
The number of cache elements that the Terracotta Server Array will store for a distributed cache. This value must be greater than or equal to the number of entries in all of the clients of the server array. Set on individual distributed caches only, this setting is unlimited by default.
Pooling at the CacheManager level is not available.
Attributes that set a number of entries or elements take an integer. Attributes that set a memory size (bytes) use the Java -Xmx syntax (for example: "500k", "200m", "2g") or percentage (for example: "20%"). Percentages, however, can be used only in the case where a CacheManager-level pool has been configured.
The following diagram illustrates the tiers and their effective sizing attributes.
Note:
Size-based cache capacity constraints at heap tier (maxBytesLocalHeap) is deprecated now and not expected to work from Java 17 onwards. Consider maxEntriesLocalHeap instead.