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

<META NAME="ROBOTS" CONTENT="NOINDEX">

    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Class MemoryConfiguration
   | Apache Ignite.NET </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Class MemoryConfiguration
   | 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.Cache.Configuration.MemoryConfiguration">
  
  
  <h1 id="Apache_Ignite_Core_Cache_Configuration_MemoryConfiguration" data-uid="Apache.Ignite.Core.Cache.Configuration.MemoryConfiguration" class="text-break">Class MemoryConfiguration
  </h1>
  <div class="markdown level0 summary"><p>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. 
<p>
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.
<p>
If initial size of the default memory region doesn&apos;t satisfy requirements or it&apos;s
required to have multiple memory regions with different properties
then <a class="xref" href="Apache.Ignite.Core.Cache.Configuration.MemoryPolicyConfiguration.html">MemoryPolicyConfiguration</a> 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. <p>
To learn more about memory policies refer to <a class="xref" href="Apache.Ignite.Core.Cache.Configuration.MemoryPolicyConfiguration.html">MemoryPolicyConfiguration</a> documentation.
<p>
Obsolete, use <a class="xref" href="Apache.Ignite.Core.Configuration.DataStorageConfiguration.html">DataStorageConfiguration</a>.</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">MemoryConfiguration</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.Cache.Configuration.html">Apache.Ignite.Core.Cache.Configuration</a></h6>
  <h6><strong>Assembly</strong>: Apache.Ignite.Core.dll</h6>
  <h5 id="Apache_Ignite_Core_Cache_Configuration_MemoryConfiguration_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">[Obsolete(&quot;Use DataStorageConfiguration.&quot;)]
public class MemoryConfiguration</code></pre>
  </div>
  <h3 id="constructors">Constructors
  </h3>
  <a id="Apache_Ignite_Core_Cache_Configuration_MemoryConfiguration__ctor_" data-uid="Apache.Ignite.Core.Cache.Configuration.MemoryConfiguration.#ctor*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_MemoryConfiguration__ctor" data-uid="Apache.Ignite.Core.Cache.Configuration.MemoryConfiguration.#ctor">MemoryConfiguration()</h4>
  <div class="markdown level1 summary"><p>Initializes a new instance of the <a class="xref" href="Apache.Ignite.Core.Cache.Configuration.MemoryConfiguration.html">MemoryConfiguration</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 MemoryConfiguration()</code></pre>
  </div>
  <a id="Apache_Ignite_Core_Cache_Configuration_MemoryConfiguration__ctor_" data-uid="Apache.Ignite.Core.Cache.Configuration.MemoryConfiguration.#ctor*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_MemoryConfiguration__ctor_Apache_Ignite_Core_Binary_IBinaryRawReader_" data-uid="Apache.Ignite.Core.Cache.Configuration.MemoryConfiguration.#ctor(Apache.Ignite.Core.Binary.IBinaryRawReader)">MemoryConfiguration(IBinaryRawReader)</h4>
  <div class="markdown level1 summary"><p>Initializes a new instance of the <a class="xref" href="Apache.Ignite.Core.Cache.Configuration.MemoryConfiguration.html">MemoryConfiguration</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 MemoryConfiguration(IBinaryRawReader reader)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Binary.IBinaryRawReader.html">IBinaryRawReader</a></td>
        <td><span class="parametername">reader</span></td>
        <td><p>The reader.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="fields">Fields
  </h3>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_MemoryConfiguration_DefaultDefaultMemoryPolicyName" data-uid="Apache.Ignite.Core.Cache.Configuration.MemoryConfiguration.DefaultDefaultMemoryPolicyName">DefaultDefaultMemoryPolicyName</h4>
  <div class="markdown level1 summary"><p>The default value for <a class="xref" href="Apache.Ignite.Core.Cache.Configuration.MemoryConfiguration.html#Apache_Ignite_Core_Cache_Configuration_MemoryConfiguration_DefaultMemoryPolicyName">DefaultMemoryPolicyName</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 string DefaultDefaultMemoryPolicyName = &quot;default&quot;</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.String</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_MemoryConfiguration_DefaultPageSize" data-uid="Apache.Ignite.Core.Cache.Configuration.MemoryConfiguration.DefaultPageSize">DefaultPageSize</h4>
  <div class="markdown level1 summary"><p>The default page 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 DefaultPageSize = 4096</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_Cache_Configuration_MemoryConfiguration_DefaultSystemCacheInitialSize" data-uid="Apache.Ignite.Core.Cache.Configuration.MemoryConfiguration.DefaultSystemCacheInitialSize">DefaultSystemCacheInitialSize</h4>
  <div class="markdown level1 summary"><p>Default size of a memory chunk reserved for system cache initially.</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 DefaultSystemCacheInitialSize = 41943040L</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_Cache_Configuration_MemoryConfiguration_DefaultSystemCacheMaxSize" data-uid="Apache.Ignite.Core.Cache.Configuration.MemoryConfiguration.DefaultSystemCacheMaxSize">DefaultSystemCacheMaxSize</h4>
  <div class="markdown level1 summary"><p>Default max size of a memory chunk for the system cache.</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 DefaultSystemCacheMaxSize = 104857600L</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>
  <h3 id="properties">Properties
  </h3>
  <a id="Apache_Ignite_Core_Cache_Configuration_MemoryConfiguration_ConcurrencyLevel_" data-uid="Apache.Ignite.Core.Cache.Configuration.MemoryConfiguration.ConcurrencyLevel*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_MemoryConfiguration_ConcurrencyLevel" data-uid="Apache.Ignite.Core.Cache.Configuration.MemoryConfiguration.ConcurrencyLevel">ConcurrencyLevel</h4>
  <div class="markdown level1 summary"><p>Gets or sets the number of concurrent segments in Ignite internal page mapping tables.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public int ConcurrencyLevel { 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_Cache_Configuration_MemoryConfiguration_DefaultMemoryPolicyName_" data-uid="Apache.Ignite.Core.Cache.Configuration.MemoryConfiguration.DefaultMemoryPolicyName*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_MemoryConfiguration_DefaultMemoryPolicyName" data-uid="Apache.Ignite.Core.Cache.Configuration.MemoryConfiguration.DefaultMemoryPolicyName">DefaultMemoryPolicyName</h4>
  <div class="markdown level1 summary"><p>Gets or sets the name of the default memory policy in <a class="xref" href="Apache.Ignite.Core.Cache.Configuration.MemoryConfiguration.html#Apache_Ignite_Core_Cache_Configuration_MemoryConfiguration_MemoryPolicies">MemoryPolicies</a>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public string DefaultMemoryPolicyName { 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_Cache_Configuration_MemoryConfiguration_MemoryPolicies_" data-uid="Apache.Ignite.Core.Cache.Configuration.MemoryConfiguration.MemoryPolicies*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_MemoryConfiguration_MemoryPolicies" data-uid="Apache.Ignite.Core.Cache.Configuration.MemoryConfiguration.MemoryPolicies">MemoryPolicies</h4>
  <div class="markdown level1 summary"><p>Gets or sets the memory policies.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public ICollection&lt;MemoryPolicyConfiguration&gt; MemoryPolicies { 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.Collections.Generic.ICollection</span>&lt;<a class="xref" href="Apache.Ignite.Core.Cache.Configuration.MemoryPolicyConfiguration.html">MemoryPolicyConfiguration</a>&gt;</td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Configuration_MemoryConfiguration_PageSize_" data-uid="Apache.Ignite.Core.Cache.Configuration.MemoryConfiguration.PageSize*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_MemoryConfiguration_PageSize" data-uid="Apache.Ignite.Core.Cache.Configuration.MemoryConfiguration.PageSize">PageSize</h4>
  <div class="markdown level1 summary"><p>Gets or sets the size of the memory page.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public int PageSize { 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_Cache_Configuration_MemoryConfiguration_SystemCacheInitialSize_" data-uid="Apache.Ignite.Core.Cache.Configuration.MemoryConfiguration.SystemCacheInitialSize*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_MemoryConfiguration_SystemCacheInitialSize" data-uid="Apache.Ignite.Core.Cache.Configuration.MemoryConfiguration.SystemCacheInitialSize">SystemCacheInitialSize</h4>
  <div class="markdown level1 summary"><p>Gets or sets the size of a memory chunk reserved for system cache needs.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public long SystemCacheInitialSize { 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_Cache_Configuration_MemoryConfiguration_SystemCacheMaxSize_" data-uid="Apache.Ignite.Core.Cache.Configuration.MemoryConfiguration.SystemCacheMaxSize*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_MemoryConfiguration_SystemCacheMaxSize" data-uid="Apache.Ignite.Core.Cache.Configuration.MemoryConfiguration.SystemCacheMaxSize">SystemCacheMaxSize</h4>
  <div class="markdown level1 summary"><p>Gets or sets the maximum memory region size reserved for system cache.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public long SystemCacheMaxSize { 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>
</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>
