MSOLAP Service Crashes Once a Day – Windows Low Fragmentation Heap vs OLAP Heap

Every night for the last few months the OLAP service would crash during nightly processing. It got so bothersome we eventually opened a support ticket.
 
Turns out we had to start using Windows Low Fragmentation Heap instead of the OLAP Heap. Word has it that the OLAP Heap isn’t an stable as Windows, especially if you have a large OLAP database (we’re 500GB and I guess that’s considered large).
 
We’ve since upgraded to 16GB of RAM on the box and changed the system file cache to 5GB. No problems since.
 
——————————————————————————————————————————————————–

Problem – Analysis Services 2005 generates thousands of mini dumps when you are processing objects overnight.

Environment – Analysis Services 2005 x64, 8GB of RAM

Root Cause – When the server process objects, it requires more memory, and the server is under memory pressure. The server cache cleanup threads will start cleaning up some cache to free up some memory, but it encounter heap corruption issue and generates the mini dumps every time it encounters the corruption. The server system cache is another cause of the memory pressure. In a 64-bit system, the server opens files in the system cache by default. Over time the system cache will take more and more memory if there is no limit on how much it can take, then it leads to server out of memory. Analysis Services needs to open files in order to read and write data during processing, so the part of the system cache is indirectly used by the Analysis Services.

Resolution – To limit the system cache, you need to change the server properties in the msmdsrv.ini file as the following to limit the system cache to 2.5GB:  

<LimitSystemFileCacheSizeMB>2500</LimitSystemFileCacheSizeMB>

<LimitSystemFileCachePeriod>1000</LimitSystemFileCachePeriod>

 

To fix the OLAP heap corruption issue, you will need to use the following settings to let the Analysis Services to use the Windows Low Fragmentation Heap instead of the OLAP heap.

 

MemoryHeapType: set this to 2

HeapTypeForObjects: set this to 0

 

All these settings requires the OLAP service to restart. 

Advertisements
This entry was posted in Uncategorized. Bookmark the permalink.

2 Responses to MSOLAP Service Crashes Once a Day – Windows Low Fragmentation Heap vs OLAP Heap

  1. mario says:

    Did this worked for you ? , or did you experienced the same issue after a few days?

  2. Matias says:

    How to fix the OLAP heap corruption issue?

    Thanks a lot

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s