We have a SBS 2011 server with 16GB memory that runs Exchange, WSUS and File Sharing for approx 20 users. The server also gives 2GB memory to a virtual machine running in Hyper-V so 14GB left for the rest.

When the server first boots Store.exe consumes about 500MB memory, WSUS and IIS consume some as well, but we generally are only at 60% capacity. During the course of the working day Store.exe consumes 8GB memory and the server sits at approx 97% capacity.

This makes using the server very slow, logging on via RDP is slow, general server admin is slowed down.

Is this normal? I have read that Exchange will consume lots of memory that it does not neccessarily need and then releases it back to other applications that need it. I have also checked that all mailboxes are opened in cached mode. We do have some external uses who connect via Outlook Anywhere or OWA.

If it's deemed to be "normal" is there some way I can restrict it using ALL available memory and leave a little bit for SBS to use for server admin? I have seen some articles regarding setting a high and low memory flag but rumours that this does not work with update rollup 5 which we have installed.

Am I expecting a single server to do to much with only 14GB memory?


  • 1
    It's normal for Exchange and IIS to chew up ram like a fat kid in a cake shop, yes. Normally it's preferable to run Exchange, IIS, and File Sharing in VMs on the Hyper-V host (with AD/DNS/DHCP on the Host); but licensing may prevent an ideal deployment. The Admin should not be logging into the server on any sort of a regular basis. The Admin should have RSAT and the other Remote Admin tools installed on their workstation. – Chris S Feb 21 '12 at 15:13
  • This is SBS, installing VM's to run the separate services is not allowed in the licensing. – SnAzBaZ Feb 21 '12 at 18:46
  • Some versions of SBS 2011 include separation and virtualization rights. You didn't mention what version you're running, but it likely doesn't matter if it's all installed already. – Chris S Feb 21 '12 at 19:44

Check if the database cache is taking up the memory (and not releasing it for some reason) using the perfmon Exchange "Database cache size" counter. If so, try limiting the cache sizes by setting msExchESEParamCacheSizeMin/msExchESEParamCacheSizeMax values in the InformationStore Active Directory object's properties as described in this blog.

If it is not the IS cache, it might be a memory leak. In this case, you can restart the information store periodically as a workaround and open a case with Microsoft product support - if it turns out to be a problem with the product itself, no fee will be charged.

You should also take a look at the minimum and recommended memory configurations for Exchange 2010.

| improve this answer | |
  • Have the same issue as the OP, any more info on restarting the information store? – HaydnWVN Nov 15 '12 at 11:19
  • 1
    @HaydnWVN sc stop MSExchangeIS && timeout /t 180 && sc start MSExchangeIS – the-wabbit Nov 15 '12 at 12:54
  • Safe to do with users logged in using e-mail? – HaydnWVN Nov 15 '12 at 13:14
  • 1
    @HaydnWVN Outlook users will lose their connection to the Exchange Server and will have to restart Outlook, but you would not get data corruption, if that's what you mean. – the-wabbit Nov 15 '12 at 13:58
  • Excellent info, thanks syneticon. I'm considering setting up a schedule to run during the night to restart the store as I have a server underspecced for multiple roles. – HaydnWVN Nov 15 '12 at 15:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.