How can I reduce the size of main memory used by Exchange 2010? It currently uses 20 GB of 32 GB of main memory.

I am running Windows 2008 R2 Standard with 32 GB of ram.  I have Microsoft Exchange 2010 installed.  Exchange is using 20 GB of memory.

How can I limit the memory size that Exchange 2010 uses, to around 10 GB instead of 20 GB?

Thanks for your expert help!
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Lee W, MVPTechnology and Business Process AdvisorCommented:
Exchange will use all the memory it can to improve performance. It SHOULD release memory as needed by the rest of the system.

You can adjust the memory used using this blog as a reference (edited text of which is below):

Start by opening ADSIedit – either click Start -> ADSIedit.msc, or navigate to Start -> All Programs -> Administrative Tools -> ADSI Edit.

Right click the root of the tree view on the left and select Connect To. . .  On the Connection Settings screen select the Select a well known Naming Context option and from the drop down list choose the Configuration option.

ADSI Edit -> Connect To

Once connected to the Configuration Naming Context, navigate to the following item:

Configuration -> Services -> Microsoft Exchange -> ”Organization Name” -> Administrative Groups > ”Administrative Group” -> Servers -> ”Server Name” -> InformationStore

Right click Information Store and scroll down to msExchESEParamCacheSizeMax attribute and set the value according to your requirements.

ADSI Edit -> Information Store Settings

Please note that Exchange 2010 works with 32kB pages. So if you want to limit the size of memory used to 4GB, you will need the following calculations:

Exchange 2010: 4 GB = 4.194.304 KB / 32 KB => 131072

If you have confirmed you have the correct numbers, you can click OK to save the settings and restart Microsoft Exchange Information Store service for the changes to take effect.

UPDATE: As it turns out, setting the msExchESEParamCacheSizeMax size only doesn’t seem to be sufficient. The limit has been actually applied only when the msExchESEParamCacheSizeMin size was set as well. In our example the values would be set as follows:

Exchange 2010:

Min – 1GB: msExchESEParamCacheSizeMin = 32768
Max – 4GB: msExchESEParamCacheSizeMax = 131072

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
SysToolsData Expert - Recovery,Backup,MigrationCommented:
Follow the above method to reduce the size of main memory used by Exchange and to know
a) Database Cache Minimum Requirements according to the user mailbox.
b) Default mailbox database cache sizes.
c) Database Cache Metrics

You can visit:
Definitely, u can use above procedure to limit exchange usage but before that be noted of important points
Exchange when using 90% + memory, it also release it when system required, so in reality Microsoft don't recommend setup such limits from adsiedit
As thumb rule any server / system should be left with minimum 20% free memory
By default exchange is memory hungry application and caches / grabs maximum memory he can
In this situation if it's utilizing more than 90% memory, it not means it's actually need that much memory, u need to find out how much actually required / utilized by exchange
Find out virtual memory used by exchange as pages/sec counter which should show you % virtual memory utilized, say counter showing 70%, *it means if you have 32 gb memory, it's utilizing about 21.5 to 22 gb out of total memory based on this counter
So ideally exchange is utilizing 22 gb and it should be fine as compared to physical 32gb memory
Server running exchange should not run any other applications apart from antivirus and backup agents, do you?

Now coming to the point, u said that utilization is showing 20gb, so I guess u don't need to impose memory limits since ur utilization is less than 80%
If ur utilization shoots beyond 90 / 95 %, then 1st find out actual memory utilization by measuring virtual memory and based on that set limits
eemmpphAuthor Commented:
Thank you very much!
How much memory you have restricted now if u could please let us know
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.