How to reducing memory usage on Exchange
Lately we’ve been having some very sluggish performance out-of-the-box from some SBS servers, so i’ve been tweaking some configurations to make the servers perform a bit better.
- Limiting store.exe (Exchange Information Store) memory usage
- Limiting Sharepoint database memory usage
- Limiting WSUS database memory usage
- Making Remote Web Workspace “Connect to computer” work when 0 memory is available
Follow the steps below to tune your memory usage – and be warned, if you do things incorrectly then you can actually decrease the performance of your server!
Exchange and store.exe
You probably know that store.exe will normally just consume all available memory until the system decies that something else uses it, then it tries to relinquish that allocated memory. In practice we’ve found that this comes at a performance hit for other programs, so here’s how to limit the amount of memory store.exe utilises:
Overview: Use ADSIedit.msc to update msExchESEParamCacheSizeMin and msExchESEParamCacheSizeMax with page sizes.
- Run adsiedit.msc
- Connect to: Select a well known Naming Context : [Configuration]
- Expand the following:
- Configuration\Services\Microsoft Exchange\ (First Organization) \Administrative Groups\ (Exchange Administrative Group) \Servers\ (Server Name)
- Right click on CN=Information Store and click properties
- Update the values of msExchESEParamCacheSizeMin and msExchESEParamCacheSizeMax with values from the following table:
|Target Cache Size
for 2010+ (32KB pages)
for 2007 (8KB pages)
- Restart the Information Store service for the changes to take affect.
Why set both min AND max sizes?
Because the default min size as of Exch2010SP1 is fairly large, so it will never use your max setting if you don’t set an appropriate min!