none
SBS2011 (Exchange 2010 SP2) - limiting cache size doesn't appear to work RRS feed

  • Question

  • Hi All,

    Hoping for some clarification here, or extra input at least.  I know there are other posts about this topic such as http://social.technet.microsoft.com/Forums/en-US/smallbusinessserver/thread/5acb6e29-13b3-4e70-95d9-1a62fc9304ac but these have been incorrectly marked as answer in my opinion.

    To recap the issue.  The Exchange 2010 store.exe process uses a lot of memory.  So much in fact it has a negative performance impact on the server (sluggish access to the desktop etc).  You can argue about this all day - it's by design and shouldn't be messed with etc but the bottom line is that it does use too much memory and it does need tweaked.  I know this because if you simply restart the Information Store process (or reboot the server) it frees up the memory and the performance returns (until its cache is fully rebuilt that is).  I have verified this on 4 different fresh builds of SBS2011 over the last 6 months. (all on servers with 16GB RAM)

    I have scoured the internet for information on limiting how much memory exchange uses to cache the information store and most articles point back to the same two articles (http://eightwone.com/2011/04/06/limiting-exchange-2010-sp1-database-cache/ and http://eightwone.com/2010/03/25/limiting-exchange-2010-database-cache) that deal with exchange 2010 and exchange 2010 SP1, notably not exchange 2010 SP2.  Ergo most articles are out of date since exchange 2010 SP2 has been released since these articles were posted.

    When testing with our own in house SBS2011 server (with exchange 2010 SP2) I have found that specifying the min, max and cache sizes in ADSIEDIT has varying results that are not in line with the results documented in the articles I mentioned above.  I suspect the behaviour of these settings has changed with the release of exchange 2010 SP2 (as it did between the initial release and SP1).

    Specifically here's what I have found using ADSIEDIT;

    If you set the msExchESEParamCacheSize to a value - it doesn't have any effect.
    If you set the msExchESEParamCacheSizeMax to a value - it doesn't have any effect.
    If you set the msExchESEParamCacheSizeMin to a value - it always locks the store.exe process to using exactly this value.

    I have also tested using combinations of these settings with the result that the size and max size values are always ignored (and the store.exe process uses the maximum available amount of memory - thus causing the performance degradation) but as soon as you specify the min value it locks it to this value and it doesn't change.

    As a temporary solution on our in-house SBS2011 I have set the min value to 4GB and it appears to be running fine (only 15 mailboxes though).

    Anyone got some input on this ? thank you for your time.


    • Edited by Erin Carter Monday, November 26, 2012 5:51 PM
    Monday, November 26, 2012 5:48 PM

Answers

  • Just check your math, reread the article, and try to pick sane numbers.

    Picking a minimum page size of 1, for example (32k) is not sane. Exchange will know this and will happily ignore your attempt to enforce boundaries, as it things you are *not* sane. Reasonable minimum and maximum values should yield valid results.

    Wednesday, November 28, 2012 10:44 PM
    Moderator

All replies

  • Apologize for skimming your post, and if you reference similiar articles, but have you seen this and tried its recommendations?

    http://www.thirdtier.net/2012/01/solving-the-unresponsive-exchange-sbs-server-problem/


    Larry Struckmeyer[SBS-MVP]

    Tuesday, November 27, 2012 1:01 AM
    Moderator
  • Thanks for your time Larry but skimming does miss the point and the article you listed is now irrelevant, as my above post explains.
    Tuesday, November 27, 2012 10:31 AM
  • Ok. What I need to understand is what is the major point of concern?  Is server performance is a issue or all you want is "Limiting size cache is issue"  ?
    Tuesday, November 27, 2012 11:15 AM
  • You may want to recheck your work then. I can tell you firsthand that the above method does work. The magor changes to the database cache happened between RTM and SP1, so articles that reference RTM will no longer apply. However SP1 and SP2 did not change significantly and I have personally made these changes on a few servers (a few live, most in easily monitored test labs) running SP2 and can affirm that, when done properly, they work. I will spare you the hassle of a lengthy explanation on why I haven't done more live systems, as apparently you've already made up your mind to disregard any good advice that such adjustments are unnecessary and ill-advised, but suffice it to say that I have successfully been able to *avoid* making such changes on most live systems with some diligence and finding the "real" culprits applications that cause the memory constraints.

    Wednesday, November 28, 2012 12:47 AM
    Moderator
  • Mohitkapoor - the performance is the main thing.

    Cliff - I'd rather understand the problem at hand properly than disregard good advice, but I can only go on the results that my testing shows me.  So please indulge me.

    How would you suggest I re-check my work, as I have done this already.  If I'm making a mistake implementing this then let me know.  I've basically changed the cache size variable(s) in ADSIEDIT and restarted the Information Store.  I have ensured I am using the correct values regarding 32KB pages

    Wednesday, November 28, 2012 5:43 PM
  • Just check your math, reread the article, and try to pick sane numbers.

    Picking a minimum page size of 1, for example (32k) is not sane. Exchange will know this and will happily ignore your attempt to enforce boundaries, as it things you are *not* sane. Reasonable minimum and maximum values should yield valid results.

    Wednesday, November 28, 2012 10:44 PM
    Moderator
  • Just check your math, reread the article, and try to pick sane numbers.

    Picking a minimum page size of 1, for example (32k) is not sane. Exchange will know this and will happily ignore your attempt to enforce boundaries, as it things you are *not* sane. Reasonable minimum and maximum values should yield valid results.

    Cliff, I'm experiencing a similar issue with poor performance since installing SP2. I too have noted that the store.exe process is using a ton of memory that seems to be causing the server to slow down overall. Is there a definitive formula or specific values that one should use to set appropriate parameters in order to regain the performance this server once had?

    I'm running a virtualized SBS 2011 Standard. This particular VM is running on a Server 2012 Standard Hyper-V server. The VM has 4 processors and 16GB of RAM allocated and yet it is sluggish since the install of SP2 on Exchange 2010.

    Thursday, April 25, 2013 4:57 AM
  • I concur with Erin. I'm seeing the same behaviour across all SBS2011 boxes, whether running SP1, SP2 or SP3.

    If a minimum value is set, the store cache size barely rises above the minumum. I have one server with 32GB RAM. Store.exe was using 20GB of RAM, plus all the other Exchange services which total 4GB+. That left virtually no free RAM and trying to do anything else on the server was sluggish at best.

    All the advise is that setting a maximum alone has no effect and a minimum must be set too. But when set, the store cache size barely rises above the minimum. I have set a 4GB minimum and 16GB max, but 5 days later it's still using only slightly more than 4GB and there's 8GB free. Now the server as a whole is responsive, but doing anything with Exchange is sluggish.

    Just saying leave Exchange to manage itself is not an answer. The clue is in the name - Small Business Server. It's not Exchange Only Server - there are other tasks an SBS must handle so leaving Exchange to run rampant is not an option. Besides, there are allegedly means to manage the Exchange cache size - they just don't apparently work!

    I'm guessing nobody has an answer to this so the only solution is to effectively fix the cache size to a sensible value by setting min and max to the same value.


    Adam@Regis IT


    Monday, June 24, 2013 11:24 AM
  • This is not a valid answer.


    Adam@Regis IT

    Monday, June 24, 2013 11:26 AM
  • I also want to backup what Erin and Adam have observed. When applying limits to the Exchange database cache size, the store.exe process consistently consumes physical memory equal to the value entered for msExchESEParamCacheSizeMin regardless of the value set for msExchESEParamCacheSizeMax.

    Environment - SBS 2011 Standard with Exchange Server 2010 SP2 rollup 7.

    +1 for this not being a valid answer.
    • Edited by QIMGL Thursday, October 17, 2013 8:03 AM
    Thursday, October 17, 2013 8:01 AM
  • Another backup of Erin's, Adam's and QIMGL's findings: leaving cache sizes unmanaged leads to unresponsive servers, RWW not working and other trouble. Only the cachemin setting sorts any effect.
    Friday, December 20, 2013 10:32 AM
  • Another +1 for Adam's observations on multiple SBS 2011 servers with Exchange 2010 SP3.

    CacheSizeMax is never reached, only hitting slightly more than CacheSizeMin.

    Sunday, December 22, 2013 5:51 AM
  • Mohitkapoor - the performance is the main thing.

    Cliff - I'd rather understand the problem at hand properly than disregard good advice, but I can only go on the results that my testing shows me.  So please indulge me.

    How would you suggest I re-check my work, as I have done this already.  If I'm making a mistake implementing this then let me know.  I've basically changed the cache size variable(s) in ADSIEDIT and restarted the Information Store.  I have ensured I am using the correct values regarding 32KB pages

    Any news on this issue?

    Thursday, September 22, 2016 11:06 AM
  • The Exchange 2010 store.exe process uses a lot of memory. 

    I reduced the Store memory usage following this article: http://www.bursky.net/index.php/2012/05/limit-exchange-2010-memory-use/


    Simon Weel

    Thursday, September 22, 2016 1:16 PM
  • Simon,

    Why are you referencing an article that basically says the exact same thing everyone is pointing out doesn't work?

    Tuesday, September 26, 2017 7:46 PM
  • Answer:  For Exchange Server 2010 in SBS2011 and SBS2011 R2, memory use never exceeds minimum setting, regardless of max setting. So both must be set to the same value or it just won't work.  This is a bug in Windows.

    For example, in SBS2011 R2 (for Exchange 2010) setting BOTH values to 131072 will result in store using 4GB of RAM.  

    1,048,576 x 4GB  = 4,194,304 / 32 = 131072




    • Edited by INTREPID-5th Saturday, December 15, 2018 2:32 AM
    Saturday, December 15, 2018 2:15 AM