Class MemoryPolicyConfiguration
Defines page memory policy configuration. See MemoryPolicies. Obsolete, use DataRegionConfiguration.
Inheritance
Namespace: Apache.Ignite.Core.Cache.Configuration
Assembly: Apache.Ignite.Core.dll
Syntax
public class MemoryPolicyConfiguration : object
Constructors
MemoryPolicyConfiguration()
Initializes a new instance of the MemoryPolicyConfiguration class.
Declaration
public MemoryPolicyConfiguration()
Fields
DefaultEmptyPagesPoolSize
The default empty pages pool size.
Declaration
public const int DefaultEmptyPagesPoolSize = null
Field Value
Type | Description |
---|---|
System.Int32 |
DefaultEvictionThreshold
The default eviction threshold.
Declaration
public const double DefaultEvictionThreshold = null
Field Value
Type | Description |
---|---|
System.Double |
DefaultInitialSize
The default initial size.
Declaration
public const long DefaultInitialSize = null
Field Value
Type | Description |
---|---|
System.Int64 |
DefaultMaxSize
The default maximum size, equals to 20% of total RAM.
Declaration
public static readonly long DefaultMaxSize
Field Value
Type | Description |
---|---|
System.Int64 |
DefaultRateTimeInterval
The default rate time interval.
Declaration
public static readonly TimeSpan DefaultRateTimeInterval
Field Value
Type | Description |
---|---|
TimeSpan |
DefaultSubIntervals
The default sub intervals.
Declaration
public const int DefaultSubIntervals = null
Field Value
Type | Description |
---|---|
System.Int32 |
Properties
EmptyPagesPoolSize
Gets or sets the minimal number of empty pages to be present in reuse lists for this memory policy. This parameter ensures that Ignite will be able to successfully evict old data entries when the size of (key, value) pair is slightly larger than page size / 2. Increase this parameter if cache can contain very big entries (total size of pages in this pool should be enough to contain largest cache entry).
Declaration
public int EmptyPagesPoolSize { get; set; }
Property Value
Type | Description |
---|---|
System.Int32 |
EvictionThreshold
Gets or sets the threshold for memory pages eviction initiation. For instance, if the threshold is 0.9 it means that the page memory will start the eviction only after 90% of the memory region (defined by this policy) is occupied.
Declaration
public double EvictionThreshold { get; set; }
Property Value
Type | Description |
---|---|
System.Double |
InitialSize
Gets or sets initial memory region size defined by this memory policy. When the used memory size exceeds this value, new chunks of memory will be allocated.
Declaration
public long InitialSize { get; set; }
Property Value
Type | Description |
---|---|
System.Int64 |
MaxSize
Sets maximum memory region size defined by this memory policy. The total size should not be less than 10 MB due to internal data structures overhead.
Declaration
public long MaxSize { get; set; }
Property Value
Type | Description |
---|---|
System.Int64 |
MetricsEnabled
Gets or sets a value indicating whether memory metrics should be enabled.
Metrics can be retrieved with GetMemoryMetrics() method.
Declaration
public bool MetricsEnabled { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
Name
Gets or sets the memory policy name. Defaults to DefaultDefaultMemoryPolicyName.
Declaration
public string Name { get; set; }
Property Value
Type | Description |
---|---|
System.String |
PageEvictionMode
Gets or sets the page eviction mode. If Disabled is used (default) then an out of memory exception will be thrown if the memory region usage, defined by this memory policy, goes beyond MaxSize.
Declaration
public DataPageEvictionMode PageEvictionMode { get; set; }
Property Value
Type | Description |
---|---|
DataPageEvictionMode |
RateTimeInterval
Gets or sets the rate time interval for AllocationRate and EvictionRate monitoring purposes.
For instance, after setting the interval to 60 seconds, subsequent calls to AllocationRate will return average allocation rate (pages per second) for the last minute.
Declaration
public TimeSpan RateTimeInterval { get; set; }
Property Value
Type | Description |
---|---|
TimeSpan |
SubIntervals
Gets or sets the number of sub intervals to split RateTimeInterval into to calculate AllocationRate and EvictionRate.
Bigger value results in more accurate metrics.
Declaration
public int SubIntervals { get; set; }
Property Value
Type | Description |
---|---|
System.Int32 |
SwapFilePath
Gets or sets the the path to the memory-mapped file the memory region defined by this memory policy will be mapped to. Having the path set, allows relying on swapping capabilities of an underlying operating system for the memory region.
Null for no swap.
Declaration
public string SwapFilePath { get; set; }
Property Value
Type | Description |
---|---|
System.String |