Hi All,
Hoping for some clarification here, or extra input at least. I know there are other posts about this topic such ashttp://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.