Note: This article was originally published in 2012. Some steps, commands, or software versions may have changed. Check the current Exchange documentation for the latest information.
What is Store.exe?
If you log into a Microsoft Small Business Server (SBS) or a dedicated internal mail server, you might open Task Manager and be shocked to see a single process called store.exe consuming 16GB, 32GB, or even 64GB of RAM—often leaving only a few megabytes of free memory available.
store.exe is the Microsoft Exchange Information Store. It is the absolute heart of Microsoft Exchange Server. This process is responsible for mounting and managing the Extensible Storage Engine (ESE) databases where all user emails, attachments, calendars, and public folders are securely stored.
If you don’t have Microsoft Exchange installed somewhere on your corporate network, this process shouldn’t be running. But if you do, store.exe is completely legitimate and critical.
Why does it consume almost all my RAM?
The behavior of store.exe taking over 90%+ of a server’s memory is entirely by design.
Exchange Server databases are notoriously heavy on disk operations (I/O). To provide the fastest possible experience for Outlook clients and prevent the server’s hard drives from being crushed under the weight of thousands of email read/write requests, the Exchange Information Store utilizes a concept called Dynamic Memory Cache Allocation.
Exchange actively caches as much of the active mailbox database into the physical RAM as possible. Reading an email from RAM is exponentially faster than reading it from a spinning hard drive.
Therefore, store.exe is programmed to grab all available memory on the server. If you upgrade your server from 16GB to 32GB of RAM, store.exe will happily expand its cache to swallow the newly added 16GB as well.
Will this crash my server?
No. The memory allocation is dynamic. store.exe monitors the server’s memory pressure. If another application (like SQL Server or IIS) suddenly demands RAM, or if the operating system needs it to prevent severe paging, store.exe will instantly release chunks of its cached memory back to the system.
Can I end the process or remove it?
No. If you kill store.exe, you will violently unmount all email databases. All users will instantly disconnect from Outlook, email flow will stop, and you risk corrupting the database.
How to limit the memory usage of Store.exe
In some specialized environments (like servers running multiple heavy roles simultaneously where dynamic memory release isn’t fast enough), you may want to place a hard cap on how much RAM Exchange is allowed to hoarding.
You can restrict the maximum cache size by editing the Active Directory configuration using ADSI Edit.
Warning: Modifying Active Directory attributes improperly can destroy your Exchange environment. Lowering the cache too much will force Exchange to read directly from the hard drives, causing severe performance degradation and high disk latency for users.
If you must proceed, here is how you limit store.exe:
- Open ADSI Edit (
adsiedit.msc) on your Domain Controller or Exchange Server. - Right-click ADSI Edit and select Connect to…
- Under Select a well known Naming Context, choose Configuration and click OK.
- Navigate through the tree to:
CN=Configuration, DC=yourdomain, DC=local->CN=Services->CN=Microsoft Exchange->CN=Your Organization Name->CN=Administrative Groups->CN=Exchange Administrative Group->CN=Servers->CN=Your Server Name->CN=InformationStore - Right-click on
CN=InformationStoreand select Properties. - Scroll down the attributes list and find
msExchESEParamCacheSizeMax. - Click Edit.
Calculating the Cache Size Value
The value you enter here is NOT in Megabytes. It is calculated in Pages.
- For Exchange 2010/2013/2016, one page equals 32 Kilobytes (32KB).
If you want to limit store.exe to exactly 4 Gigabytes (4GB) of RAM:
- Convert 4GB to KB:
4,194,304 KB - Divide by the 32KB page size:
4194304 / 32 = 131072 - Enter
131072into themsExchESEParamCacheSizeMaxfield.
Click OK to save. For this change to take effect, you must restart the Microsoft Exchange Information Store service in the services.msc console (this will briefly disconnect users). Once restarted, store.exe will never exceed your defined limit.
Related Articles
- Exchange Edge 2010: 451 4.4.0 DNS query failed
- How to: Configure and understand AutoDiscover with TMG
- How to: Configure Exchange Edge server for E-mail policy with Thread Management Gateway (TMG)
- [Resolve: ](/resolve-network-path-not-found-in-exchange-2010-management-console/)