public final class MemoryPolicyConfiguration extends Object implements Serializable
MemoryConfiguration. For each configured memory policy Apache Ignite instantiates
respective memory regions with different parameters like maximum size, eviction policy, swapping options, etc.
An Apache Ignite cache can be mapped to a particular policy using
CacheConfiguration.setMemoryPolicyName(String) method.
Sample configuration below shows how to configure several memory policies:
<property name="memoryConfiguration">
<bean class="org.apache.ignite.configuration.MemoryConfiguration">
<property name="defaultMemoryPolicyName" value="Default_Region"/>
<property name="pageSize" value="4096"/>
<property name="memoryPolicies">
<list>
<bean class="org.apache.ignite.configuration.MemoryPolicyConfiguration">
<property name="name" value="Default_Region"/>
<property name="initialSize" value="#{100 * 1024 * 1024}"/>
</bean>
<bean class="org.apache.ignite.configuration.MemoryPolicyConfiguration">
<property name="name" value="20MB_Region_Eviction"/>
<property name="initialSize" value="#{20 * 1024 * 1024}"/>
<property name="pageEvictionMode" value="RANDOM_2_LRU"/>
</bean>
<bean class="org.apache.ignite.configuration.MemoryPolicyConfiguration">
<property name="name" value="25MB_Region_Swapping"/>
<property name="initialSize" value="#{25 * 1024 * 1024}"/>
<property name="initialSize" value="#{100 * 1024 * 1024}"/>
<property name="swapFilePath" value="memoryPolicyExampleSwap"/>
</bean>
</list>
</property>
| Modifier and Type | Field and Description |
|---|---|
static boolean |
DFLT_METRICS_ENABLED
Default metrics enabled flag.
|
| Constructor and Description |
|---|
MemoryPolicyConfiguration() |
| Modifier and Type | Method and Description |
|---|---|
int |
getEmptyPagesPoolSize()
Specifies the minimal number of empty pages to be present in reuse lists for this memory policy.
|
double |
getEvictionThreshold()
Gets a threshold for memory pages eviction initiation.
|
long |
getInitialSize()
Gets initial memory region size defined by this memory policy.
|
long |
getMaxSize()
Maximum memory region size defined by this memory policy.
|
String |
getName()
Gets memory policy name.
|
DataPageEvictionMode |
getPageEvictionMode()
Gets memory pages eviction mode.
|
String |
getSwapFilePath()
A path to the memory-mapped files the memory region defined by this memory policy will be mapped to.
|
boolean |
isMetricsEnabled()
Gets whether memory metrics are enabled by default on node startup.
|
MemoryPolicyConfiguration |
setEmptyPagesPoolSize(int emptyPagesPoolSize)
Specifies the minimal number of empty pages to be present in reuse lists for this memory policy.
|
MemoryPolicyConfiguration |
setEvictionThreshold(double evictionThreshold)
Sets memory pages eviction threshold.
|
MemoryPolicyConfiguration |
setInitialSize(long initialSize)
Sets initial memory region size defined by this memory policy.
|
MemoryPolicyConfiguration |
setMaxSize(long maxSize)
Sets maximum memory region size defined by this memory policy.
|
MemoryPolicyConfiguration |
setMetricsEnabled(boolean metricsEnabled)
Sets memory metrics enabled flag.
|
MemoryPolicyConfiguration |
setName(String name)
Sets memory policy name.
|
MemoryPolicyConfiguration |
setPageEvictionMode(DataPageEvictionMode evictionMode)
Sets memory pages eviction mode.
|
MemoryPolicyConfiguration |
setSwapFilePath(String swapFilePath)
Sets a path to the memory-mapped file.
|
public static final boolean DFLT_METRICS_ENABLED
public String getName()
public MemoryPolicyConfiguration setName(String name)
MemoryConfiguration.DFLT_MEM_PLC_DEFAULT_NAME value is used.name - Memory policy name.this for chaining.public long getMaxSize()
public MemoryPolicyConfiguration setMaxSize(long maxSize)
maxSize - Maximum memory policy size in bytes.this for chaining.public long getInitialSize()
public MemoryPolicyConfiguration setInitialSize(long initialSize)
initialSize - Memory policy initial size.this for chaining.public String getSwapFilePath()
null if this feature is not used for the memory region
defined by this memory policy.public MemoryPolicyConfiguration setSwapFilePath(String swapFilePath)
swapFilePath - A Path to the memory mapped file.this for chaining.public DataPageEvictionMode getPageEvictionMode()
DataPageEvictionMode.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 its
capacity which is getMaxSize().DataPageEvictionMode.DISABLED used by default.public MemoryPolicyConfiguration setPageEvictionMode(DataPageEvictionMode evictionMode)
evictionMode - Eviction mode.this for chaining.public double getEvictionThreshold()
public MemoryPolicyConfiguration setEvictionThreshold(double evictionThreshold)
evictionThreshold - Eviction threshold.this for chaining.public int getEmptyPagesPoolSize()
IgniteOutOfMemoryException occurred with enabled page eviction.public MemoryPolicyConfiguration setEmptyPagesPoolSize(int emptyPagesPoolSize)
IgniteOutOfMemoryException occurred with enabled page eviction.emptyPagesPoolSize - Empty pages pool size.this for chaining.public boolean isMetricsEnabled()
public MemoryPolicyConfiguration setMetricsEnabled(boolean metricsEnabled)
true, metrics will be enabled on node startup.
Memory metrics can be enabled and disabled at runtime via memory metrics MX bean.metricsEnabled - Metrics enabled flag.this for chaining.
Follow @ApacheIgnite
Ignite Fabric : ver. 2.0.0 Release Date : April 30 2017