Through this configuration option, you can specify an upper limit on the size of the cache in MB. The number of items in the cache are limited by maximum size of the cache and amount of free system memory (virtual or physical). If some eviction policy is specified, whenever total data size in cache reaches maximum size or when less than 10% of memory is left in the system, items are removed from the cache as per eviction policy. Maximum size of a cache can be specified by one of following two ways.
Using NCache Manager
Click on the cache name in Cache Explorer to open cache settings.
Go to the Main tab.
Change the Cache Max Size as per your needs.
Right click the cache in Cache Explorer and select Apply Configuration option.
Using Windows PowerShell
New-Cache cmdlet enables the user to create a new cache on one or more server nodes.
This command creates a local cache of size 1024MB on test1 node. Here, instead of 1024, any size can be mentioned.
New-Cache cache -Server test1 -Size 1024
You can specify the cache max. size through config.ncconf as follows.
<cache-config name="mypartitionedcache" inproc="False" config-id="1" last-modified="6/20/2010 3:50:34 PM"> <storage type="heap" cache-size="1024mb"/> </cache-config>
Out of Memory Problem
This usually happens when Maximum Size for the cache is not specified correctly. Often, processing overhead is not kept into consideration while specifying the Maximum Size.
In order to resolve out of memory issue, NCache has provided a memory based cache, where you can specify an upper limit on the size of the cache in MB. Please specify correct Maximum Size for your cache. You should specify a Maximum Size which, if completely consumed, still leaves enough space in the system so that it never goes under low resources.
While specifying the cache size, consider the following factors:
- Average size of Sessions or Objects.
- Number of expected Sessions or Objects.
- Available memory for the NCache process.
Then you can calculate the required memory by keeping the following in mind.
- 15% Overhead per session.
- 15-20% overhead for processing. If object size is greater than 80KB, this ratio may be little bit high.