Class MemoryConfiguration
A page memory configuration for an Apache Ignite node. The page memory is a manageable off-heap based memory architecture that divides all continuously allocated memory regions into pages of fixed size. An individual page can store one or many cache key-value entries that allows reusing the memory in the most efficient way and avoid memory fragmentation issues.
By default, the page memory allocates a single continuous memory region. All the caches that will be configured in an application will be mapped to this memory region by default, thus, all the cache data will reside in that memory region.
If initial size of the default memory region doesn't satisfy requirements or it's required to have multiple memory regions with different properties then MemoryPolicyConfiguration can be used for both scenarios. For instance, using memory policies you can define memory regions of different maximum size, eviction policies, swapping options, etc. Once you define a new memory region you can bind particular Ignite caches to it.
To learn more about memory policies refer to MemoryPolicyConfiguration documentation.
Obsolete, use DataStorageConfiguration.
Inheritance
Namespace: Apache.Ignite.Core.Cache.Configuration
Assembly: Apache.Ignite.Core.dll
Syntax
public class MemoryConfiguration : object
Constructors
MemoryConfiguration()
Initializes a new instance of the MemoryConfiguration class.
Declaration
public MemoryConfiguration()
MemoryConfiguration(IBinaryRawReader)
Initializes a new instance of the MemoryConfiguration class.
Declaration
public MemoryConfiguration(IBinaryRawReader reader)
Parameters
Type | Name | Description |
---|---|---|
IBinaryRawReader | reader | The reader. |
Fields
DefaultDefaultMemoryPolicyName
The default value for DefaultMemoryPolicyName.
Declaration
public const string DefaultDefaultMemoryPolicyName = null
Field Value
Type | Description |
---|---|
System.String |
DefaultPageSize
The default page size.
Declaration
public const int DefaultPageSize = null
Field Value
Type | Description |
---|---|
System.Int32 |
DefaultSystemCacheInitialSize
Default size of a memory chunk reserved for system cache initially.
Declaration
public const long DefaultSystemCacheInitialSize = null
Field Value
Type | Description |
---|---|
System.Int64 |
DefaultSystemCacheMaxSize
Default max size of a memory chunk for the system cache.
Declaration
public const long DefaultSystemCacheMaxSize = null
Field Value
Type | Description |
---|---|
System.Int64 |
Properties
ConcurrencyLevel
Gets or sets the number of concurrent segments in Ignite internal page mapping tables.
Declaration
public int ConcurrencyLevel { get; set; }
Property Value
Type | Description |
---|---|
System.Int32 |
DefaultMemoryPolicyName
Gets or sets the name of the default memory policy in MemoryPolicies.
Declaration
public string DefaultMemoryPolicyName { get; set; }
Property Value
Type | Description |
---|---|
System.String |
MemoryPolicies
Gets or sets the memory policies.
Declaration
public ICollection<MemoryPolicyConfiguration> MemoryPolicies { get; set; }
Property Value
Type | Description |
---|---|
ICollection<MemoryPolicyConfiguration> |
PageSize
Gets or sets the size of the memory page.
Declaration
public int PageSize { get; set; }
Property Value
Type | Description |
---|---|
System.Int32 |
SystemCacheInitialSize
Gets or sets the size of a memory chunk reserved for system cache needs.
Declaration
public long SystemCacheInitialSize { get; set; }
Property Value
Type | Description |
---|---|
System.Int64 |
SystemCacheMaxSize
Gets or sets the maximum memory region size reserved for system cache.
Declaration
public long SystemCacheMaxSize { get; set; }
Property Value
Type | Description |
---|---|
System.Int64 |