﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
  
  <head>
<link rel="canonical" href="https://ignite.apache.org/releases/2.7.5/dotnetdoc/api/Apache.Ignite.Core.Configuration.DataRegionConfiguration.html" />

<META NAME="ROBOTS" CONTENT="NOINDEX">

    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Class DataRegionConfiguration
   | Apache Ignite.NET </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Class DataRegionConfiguration
   | Apache Ignite.NET ">
    <meta name="generator" content="docfx 2.24.0.0">
    
    <link rel="shortcut icon" href="../images/favicon.ico">
    <link rel="stylesheet" href="../styles/docfx.vendor.css">
    <link rel="stylesheet" href="../styles/docfx.css">
    <link rel="stylesheet" href="../styles/main.css">
    <meta property="docfx:navrel" content="../toc.html">
    <meta property="docfx:tocrel" content="toc.html">
    
    <meta property="docfx:rel" content="../">
    
  
<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-61232409-1', 'auto');
  ga('send', 'pageview');

</script></head>
  <body data-spy="scroll" data-target="#affix">
    <div id="wrapper">
      <header>
        
        <nav id="autocollapse" class="navbar navbar-inverse ng-scope" role="navigation">
          <div class="container">
            <div class="navbar-header">
              <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
              </button>
              
              <a class="navbar-brand" href="../index.html">
                <img id="logo" class="svg" src="../images/logo_ignite_32_32.png" alt="">
              </a>
            </div>
            <div class="collapse navbar-collapse" id="navbar">
              <form class="navbar-form navbar-right" role="search" id="search">
                <div class="form-group">
                  <input type="text" class="form-control" id="search-query" placeholder="Search" autocomplete="off">
                </div>
              </form>
            </div>
          </div>
        </nav>
        
        <div class="subnav navbar navbar-default">
          <div class="container hide-when-search" id="breadcrumb">
            <ul class="breadcrumb">
              <li></li>
            </ul>
          </div>
        </div>
      </header>
      <div class="container body-content">
        
        <div id="search-results">
          <div class="search-list"></div>
          <div class="sr-items"></div>
          <ul id="pagination"></ul>
        </div>
      </div>
      <div role="main" class="container body-content hide-when-search">
        
        <div class="sidenav hide-when-search">
          <a class="btn toc-toggle collapse" data-toggle="collapse" href="#sidetoggle" aria-expanded="false" aria-controls="sidetoggle">Show / Hide Table of Contents</a>
          <div class="sidetoggle collapse" id="sidetoggle">
            <div id="sidetoc"></div>
          </div>
        </div>
        <div class="article row grid-right">
          <div class="col-md-10">
            <article class="content wrap" id="_content" data-uid="Apache.Ignite.Core.Configuration.DataRegionConfiguration">
  
  
  <h1 id="Apache_Ignite_Core_Configuration_DataRegionConfiguration" data-uid="Apache.Ignite.Core.Configuration.DataRegionConfiguration" class="text-break">Class DataRegionConfiguration
  </h1>
  <div class="markdown level0 summary"><p>Defines custom data region configuration for Apache Ignite page memory
(see <a class="xref" href="Apache.Ignite.Core.Configuration.DataStorageConfiguration.html">DataStorageConfiguration</a>). 
<p>
For each configured data region 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 region using
<a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.html#Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_DataRegionName">DataRegionName</a> method.</p>
</div>
  <div class="markdown level0 conceptual"></div>
  <div class="inheritance">
    <h5>Inheritance</h5>
    <div class="level0"><span class="xref">System.Object</span></div>
    <div class="level1"><span class="xref">DataRegionConfiguration</span></div>
  </div>
  <div class="inheritedMembers">
    <h5>Inherited Members</h5>
    <div>
      <span class="xref">System.Object.ToString()</span>
    </div>
    <div>
      <span class="xref">System.Object.Equals(System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.Equals(System.Object, System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.ReferenceEquals(System.Object, System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.GetHashCode()</span>
    </div>
    <div>
      <span class="xref">System.Object.GetType()</span>
    </div>
    <div>
      <span class="xref">System.Object.MemberwiseClone()</span>
    </div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="Apache.Ignite.Core.Configuration.html">Apache.Ignite.Core.Configuration</a></h6>
  <h6><strong>Assembly</strong>: Apache.Ignite.Core.dll</h6>
  <h5 id="Apache_Ignite_Core_Configuration_DataRegionConfiguration_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public class DataRegionConfiguration</code></pre>
  </div>
  <h3 id="constructors">Constructors
  </h3>
  <a id="Apache_Ignite_Core_Configuration_DataRegionConfiguration__ctor_" data-uid="Apache.Ignite.Core.Configuration.DataRegionConfiguration.#ctor*"></a>
  <h4 id="Apache_Ignite_Core_Configuration_DataRegionConfiguration__ctor" data-uid="Apache.Ignite.Core.Configuration.DataRegionConfiguration.#ctor">DataRegionConfiguration()</h4>
  <div class="markdown level1 summary"><p>Initializes a new instance of the <a class="xref" href="Apache.Ignite.Core.Configuration.DataRegionConfiguration.html">DataRegionConfiguration</a> class.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public DataRegionConfiguration()</code></pre>
  </div>
  <h3 id="fields">Fields
  </h3>
  <h4 id="Apache_Ignite_Core_Configuration_DataRegionConfiguration_DefaultEmptyPagesPoolSize" data-uid="Apache.Ignite.Core.Configuration.DataRegionConfiguration.DefaultEmptyPagesPoolSize">DefaultEmptyPagesPoolSize</h4>
  <div class="markdown level1 summary"><p>The default empty pages pool size.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public const int DefaultEmptyPagesPoolSize = 100</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_Configuration_DataRegionConfiguration_DefaultEvictionThreshold" data-uid="Apache.Ignite.Core.Configuration.DataRegionConfiguration.DefaultEvictionThreshold">DefaultEvictionThreshold</h4>
  <div class="markdown level1 summary"><p>The default eviction threshold.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public const double DefaultEvictionThreshold = 0.9</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_Configuration_DataRegionConfiguration_DefaultInitialSize" data-uid="Apache.Ignite.Core.Configuration.DataRegionConfiguration.DefaultInitialSize">DefaultInitialSize</h4>
  <div class="markdown level1 summary"><p>The default initial size.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public const long DefaultInitialSize = 268435456L</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int64</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_Configuration_DataRegionConfiguration_DefaultMaxSize" data-uid="Apache.Ignite.Core.Configuration.DataRegionConfiguration.DefaultMaxSize">DefaultMaxSize</h4>
  <div class="markdown level1 summary"><p>The default maximum size, equals to 20% of total RAM.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public static readonly long DefaultMaxSize</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int64</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_Configuration_DataRegionConfiguration_DefaultMetricsRateTimeInterval" data-uid="Apache.Ignite.Core.Configuration.DataRegionConfiguration.DefaultMetricsRateTimeInterval">DefaultMetricsRateTimeInterval</h4>
  <div class="markdown level1 summary"><p>The default rate time interval.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public static readonly TimeSpan DefaultMetricsRateTimeInterval</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.TimeSpan</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_Configuration_DataRegionConfiguration_DefaultMetricsSubIntervalCount" data-uid="Apache.Ignite.Core.Configuration.DataRegionConfiguration.DefaultMetricsSubIntervalCount">DefaultMetricsSubIntervalCount</h4>
  <div class="markdown level1 summary"><p>The default sub intervals.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public const int DefaultMetricsSubIntervalCount = 5</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_Configuration_DataRegionConfiguration_DefaultPersistenceEnabled" data-uid="Apache.Ignite.Core.Configuration.DataRegionConfiguration.DefaultPersistenceEnabled">DefaultPersistenceEnabled</h4>
  <div class="markdown level1 summary"><p>Default value for <a class="xref" href="Apache.Ignite.Core.Configuration.DataRegionConfiguration.html#Apache_Ignite_Core_Configuration_DataRegionConfiguration_PersistenceEnabled">PersistenceEnabled</a>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public const bool DefaultPersistenceEnabled = false</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h3 id="properties">Properties
  </h3>
  <a id="Apache_Ignite_Core_Configuration_DataRegionConfiguration_CheckpointPageBufferSize_" data-uid="Apache.Ignite.Core.Configuration.DataRegionConfiguration.CheckpointPageBufferSize*"></a>
  <h4 id="Apache_Ignite_Core_Configuration_DataRegionConfiguration_CheckpointPageBufferSize" data-uid="Apache.Ignite.Core.Configuration.DataRegionConfiguration.CheckpointPageBufferSize">CheckpointPageBufferSize</h4>
  <div class="markdown level1 summary"><p>Gets or sets the size of the checkpointing page buffer.
<p>
Default is <code>0</code>: Ignite will choose buffer size automatically.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public long CheckpointPageBufferSize { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int64</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Configuration_DataRegionConfiguration_EmptyPagesPoolSize_" data-uid="Apache.Ignite.Core.Configuration.DataRegionConfiguration.EmptyPagesPoolSize*"></a>
  <h4 id="Apache_Ignite_Core_Configuration_DataRegionConfiguration_EmptyPagesPoolSize" data-uid="Apache.Ignite.Core.Configuration.DataRegionConfiguration.EmptyPagesPoolSize">EmptyPagesPoolSize</h4>
  <div class="markdown level1 summary"><p>Gets or sets the minimal number of empty pages to be present in reuse lists for this data region.
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).</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public int EmptyPagesPoolSize { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Configuration_DataRegionConfiguration_EvictionThreshold_" data-uid="Apache.Ignite.Core.Configuration.DataRegionConfiguration.EvictionThreshold*"></a>
  <h4 id="Apache_Ignite_Core_Configuration_DataRegionConfiguration_EvictionThreshold" data-uid="Apache.Ignite.Core.Configuration.DataRegionConfiguration.EvictionThreshold">EvictionThreshold</h4>
  <div class="markdown level1 summary"><p>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 is occupied.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public double EvictionThreshold { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Configuration_DataRegionConfiguration_InitialSize_" data-uid="Apache.Ignite.Core.Configuration.DataRegionConfiguration.InitialSize*"></a>
  <h4 id="Apache_Ignite_Core_Configuration_DataRegionConfiguration_InitialSize" data-uid="Apache.Ignite.Core.Configuration.DataRegionConfiguration.InitialSize">InitialSize</h4>
  <div class="markdown level1 summary"><p>Gets or sets initial memory region size.
When the used memory size exceeds this value, new chunks of memory will be allocated.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public long InitialSize { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int64</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Configuration_DataRegionConfiguration_MaxSize_" data-uid="Apache.Ignite.Core.Configuration.DataRegionConfiguration.MaxSize*"></a>
  <h4 id="Apache_Ignite_Core_Configuration_DataRegionConfiguration_MaxSize" data-uid="Apache.Ignite.Core.Configuration.DataRegionConfiguration.MaxSize">MaxSize</h4>
  <div class="markdown level1 summary"><p>Sets maximum memory region size. The total size should not be less
than 10 MB due to internal data structures overhead.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public long MaxSize { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int64</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Configuration_DataRegionConfiguration_MetricsEnabled_" data-uid="Apache.Ignite.Core.Configuration.DataRegionConfiguration.MetricsEnabled*"></a>
  <h4 id="Apache_Ignite_Core_Configuration_DataRegionConfiguration_MetricsEnabled" data-uid="Apache.Ignite.Core.Configuration.DataRegionConfiguration.MetricsEnabled">MetricsEnabled</h4>
  <div class="markdown level1 summary"><p>Gets or sets a value indicating whether memory metrics should be enabled.
<p>
Metrics can be retrieved with <a class="xref" href="Apache.Ignite.Core.IIgnite.html#Apache_Ignite_Core_IIgnite_GetDataRegionMetrics">GetDataRegionMetrics()</a> method.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool MetricsEnabled { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Configuration_DataRegionConfiguration_MetricsRateTimeInterval_" data-uid="Apache.Ignite.Core.Configuration.DataRegionConfiguration.MetricsRateTimeInterval*"></a>
  <h4 id="Apache_Ignite_Core_Configuration_DataRegionConfiguration_MetricsRateTimeInterval" data-uid="Apache.Ignite.Core.Configuration.DataRegionConfiguration.MetricsRateTimeInterval">MetricsRateTimeInterval</h4>
  <div class="markdown level1 summary"><p>Gets or sets the rate time interval for <a class="xref" href="Apache.Ignite.Core.IDataRegionMetrics.html#Apache_Ignite_Core_IDataRegionMetrics_AllocationRate">AllocationRate</a>
and <a class="xref" href="Apache.Ignite.Core.IDataRegionMetrics.html#Apache_Ignite_Core_IDataRegionMetrics_EvictionRate">EvictionRate</a> monitoring purposes.
<p>
For instance, after setting the interval to 60 seconds, subsequent calls
to <a class="xref" href="Apache.Ignite.Core.IDataRegionMetrics.html#Apache_Ignite_Core_IDataRegionMetrics_AllocationRate">AllocationRate</a> will return average allocation
rate (pages per second) for the last minute.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public TimeSpan MetricsRateTimeInterval { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.TimeSpan</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Configuration_DataRegionConfiguration_MetricsSubIntervalCount_" data-uid="Apache.Ignite.Core.Configuration.DataRegionConfiguration.MetricsSubIntervalCount*"></a>
  <h4 id="Apache_Ignite_Core_Configuration_DataRegionConfiguration_MetricsSubIntervalCount" data-uid="Apache.Ignite.Core.Configuration.DataRegionConfiguration.MetricsSubIntervalCount">MetricsSubIntervalCount</h4>
  <div class="markdown level1 summary"><p>Gets or sets the number of sub intervals to split <a class="xref" href="Apache.Ignite.Core.Configuration.DataRegionConfiguration.html#Apache_Ignite_Core_Configuration_DataRegionConfiguration_MetricsRateTimeInterval">MetricsRateTimeInterval</a> into to calculate 
<a class="xref" href="Apache.Ignite.Core.IDataRegionMetrics.html#Apache_Ignite_Core_IDataRegionMetrics_AllocationRate">AllocationRate</a> and <a class="xref" href="Apache.Ignite.Core.IDataRegionMetrics.html#Apache_Ignite_Core_IDataRegionMetrics_EvictionRate">EvictionRate</a>.
<p>
Bigger value results in more accurate metrics.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public int MetricsSubIntervalCount { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Configuration_DataRegionConfiguration_Name_" data-uid="Apache.Ignite.Core.Configuration.DataRegionConfiguration.Name*"></a>
  <h4 id="Apache_Ignite_Core_Configuration_DataRegionConfiguration_Name" data-uid="Apache.Ignite.Core.Configuration.DataRegionConfiguration.Name">Name</h4>
  <div class="markdown level1 summary"><p>Gets or sets the data region name.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public string Name { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Configuration_DataRegionConfiguration_PageEvictionMode_" data-uid="Apache.Ignite.Core.Configuration.DataRegionConfiguration.PageEvictionMode*"></a>
  <h4 id="Apache_Ignite_Core_Configuration_DataRegionConfiguration_PageEvictionMode" data-uid="Apache.Ignite.Core.Configuration.DataRegionConfiguration.PageEvictionMode">PageEvictionMode</h4>
  <div class="markdown level1 summary"><p>Gets or sets the page eviction mode. If <a class="xref" href="Apache.Ignite.Core.Configuration.DataPageEvictionMode.html#Apache_Ignite_Core_Configuration_DataPageEvictionMode_Disabled">Disabled</a> is used (default)
then an out of memory exception will be thrown if the memory region usage 
goes beyond <a class="xref" href="Apache.Ignite.Core.Configuration.DataRegionConfiguration.html#Apache_Ignite_Core_Configuration_DataRegionConfiguration_MaxSize">MaxSize</a>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public DataPageEvictionMode PageEvictionMode { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Configuration.DataPageEvictionMode.html">DataPageEvictionMode</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Configuration_DataRegionConfiguration_PersistenceEnabled_" data-uid="Apache.Ignite.Core.Configuration.DataRegionConfiguration.PersistenceEnabled*"></a>
  <h4 id="Apache_Ignite_Core_Configuration_DataRegionConfiguration_PersistenceEnabled" data-uid="Apache.Ignite.Core.Configuration.DataRegionConfiguration.PersistenceEnabled">PersistenceEnabled</h4>
  <div class="markdown level1 summary"><p>Gets or sets a value indicating whether disk persistence is enabled for this region.
Default is <a class="xref" href="Apache.Ignite.Core.Configuration.DataRegionConfiguration.html#Apache_Ignite_Core_Configuration_DataRegionConfiguration_DefaultPersistenceEnabled">DefaultPersistenceEnabled</a>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool PersistenceEnabled { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Configuration_DataRegionConfiguration_SwapPath_" data-uid="Apache.Ignite.Core.Configuration.DataRegionConfiguration.SwapPath*"></a>
  <h4 id="Apache_Ignite_Core_Configuration_DataRegionConfiguration_SwapPath" data-uid="Apache.Ignite.Core.Configuration.DataRegionConfiguration.SwapPath">SwapPath</h4>
  <div class="markdown level1 summary"><p>Gets or sets the the path to the directory for memory-mapped files.
<p>
Null for no swap.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public string SwapPath { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
</article>
          </div>
          
          <div class="hidden-sm col-md-2" role="complementary">
            <div class="sideaffix">
              <nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" id="affix">
              <!-- <p><a class="back-to-top" href="#top">Back to top</a><p> -->
              </nav>
            </div>
          </div>
        </div>
      </div>
      
      <footer>
        <div class="grad-bottom"></div>
        <div class="footer">
          <div class="container">
            <span class="pull-right">
              <a href="#top">Back to top</a>
            </span>
            © 2015 - 2018 The Apache Software Foundation
            
          </div>
        </div>
      </footer>
    </div>
    
    <script type="text/javascript" src="../styles/docfx.vendor.js"></script>
    <script type="text/javascript" src="../styles/docfx.js"></script>
    <script type="text/javascript" src="../styles/main.js"></script>
  </body>
</html>
