Memory in Exchange 2007
There seems to be a memory problem with exchange 2007. My exchange store is using almost 4.5gb of memory. There are only 20 users in my exchange environment with the largest mail box being 5gb.
When I start the server everything starts and runs at about 3.2gb of memory and within 12 to 18 hours it will double and continue to climb until it reaches 7.9gb of ram.
This was justinstalledon new server running 64bit 2003 Standard R2 with 2x Dual Core Xeon proc's, 8 gig ram, hdd raid 1 (2x 146hdd), and raid 5 (3x 300gb) all drives at 15000 rpm. It is only running exchange 2007 standard 64bit and forefront.
Any ideas why it climbs.
May 26th, 2007 1:35am
Exchange 2007 will maintain large caches to improve performance. Unless you're seeing performance problems with your server, the behavior you're seeing is normal. If other applications need memory, Exchange will release some of the memory it's using to accomodate.
Free Windows Admin Tool Kit Click here and download it now
May 27th, 2007 7:19am
It is normal for the exchange to eat up all available memory?
May 29th, 2007 7:22pm
Yes I would consider it normal.
Exchange 2007 now caches in memory large portions of the database, especially those portions that are frequently used. This allows it to be more efficient, and results in less disk I/O. Since memory access is much faster than accessing disk, this results in a performance improvement.
What are you expecting? Serious question.
Free Windows Admin Tool Kit Click here and download it now
May 29th, 2007 11:21pm
I was not expecting exchange to eat up all available memory. there is 8 gig of ram there is 7.8 gig in use.
May 30th, 2007 6:52pm
I also have a problem with the memory in exhange 2007. My problem is that when I start the server everything starts and runs at about 3.2gb of memory and
instead of 4gb.My server isrunning 64bit 2003 Standard R2 with dc 7600 proc's,4 gig ram,and It is running exchange 2007 standard 64bit.
Can someone tell me why it is doing this??
Free Windows Admin Tool Kit Click here and download it now
June 5th, 2007 1:31pm
Would you rather the memory sit there being wasted and not being used? It seems that you have thisidea that because all the memory is being used (much of it by Exchange), there is a problem with your server, or a problem with Exchange. Unless you are getting errors/warnings logged in your Application and/or System logs, there isn't a problem. If I was you, I would be GLAD that Exchange is using all that memory. Accessing memory is TONS faster than accessing disk, so it will result in Exchange operating more efficiently. If something else on the server requires memory, Exchange will release some.
Trust me - this is nothing new. This same incorrect perception has existed for a LONG time. It is simply being exacerbated now because Exchange can address so much more memory than it previously could. I don't know where the perception is being propagated from that in order to be healthy, a server should have plenty of free memory available, but wherever it is coming from, it is incorrect. Once you get past that, you will see that the way your server is functioning is actually very good. Like I said - accessing RAM is MUCH faster than disk, so you want as many operations to go to RAM as possible.
June 5th, 2007 10:47pm
Why do you feel this is a problem? What syptoms is your server exhibiting that lead you to believe this is a problem? Are you seeing errors/warnings logged in your event logs?
To restate from my previous reply. Unless you are seeing actual problems/errors, this is completely normal.
Free Windows Admin Tool Kit Click here and download it now
June 5th, 2007 10:50pm
Ben,Not to be "adding fuel to the fire", but I don't think Microsoft has made much of a positive name for itself with memory management in its enterprise application space. For someone that is new to Exchange 2007 (as I think we all are...) seeing that kind of memory utilization should have alarmed everyone in previous versions of Exchange, so why wouldn't it in this version? Until we have been informed of course! :-)Now on to my part of this question....I understand that Exchange will "use" all of the memory it can and free it up if it is needed, but what about the Page File? I have read multiple postings about the page file configuration with respect to Exchange 2007, but not seen anything in documentation from Microsoft.What is the recommendation?Thanks, and I hope I didn't tick anyone off....that wasn't my goal!smooter
June 6th, 2007 5:49pm
I understand that this behavior is considered "normal", but I don't know... having 120Mb memory free and ~9Gb commit charge on a 8Gb system... it's just scary :-)
Anyway is there any reg. key or something to limit its memory usage (like it was in older versions)?
Free Windows Admin Tool Kit Click here and download it now
July 28th, 2007 2:57am
I have a Quad core Xeon with 8GB of RAM, SAS drives Windows 2003 Enterprise and Exchange normally uses all the RAM, I usually have about 100MB left of RAM and yes I do have problems, everything is extremely slow, just like an XP machine with 128-256MB of RAM. They really need to impliment a reg key to set maxRAM usage.
July 28th, 2007 8:52am
We shouldn't used x86 memory managment to compare with x64 memory management.
In 32 bit address limit, the exchange can't use more than 4GB ram
(http://support.microsoft.com/kb/827281/en-us) even you add 8GB ram in you OS.
So, in x86 when exchange can't cache a large in memory the system pagefile will use frequently
and it will make DISK I/O heavy load.
In x64 the Exchange 2007 can support up to 8GB ram (besides Maiblox Server role,the Mailbox server role can be support up to 32GB ram).
As MSFT David & Ben say,Exchange 2007 now caches in memory large portions of the database.This is by desngn for to reduce the DISK I/O and increase Exchange process performance.
http://www.microsoft.com/technet/prodtechnol/exchange/2007/plan/hardware.mspx
Even the physical memory show only 120MB is available,but don't forget the OS still have Pagefile memory.
If other AP service need more memory, Exchange will release it. In my customer experience(One Box 16GB ram,1200 Mailboxs on it),in the Task manager always show 900 MB physical memory is available,but never hear any complain about the performance.
Free Windows Admin Tool Kit Click here and download it now
July 28th, 2007 10:47am
So there is no key or just no one is gonna tell?
Actually, I'm not really concerned about this behavior, but curious. How Exchange 2007 manages it?Are there some MemLow & MemHigh values? What if there is another "smart dynamic memory managing application" running which frees and uses memory "on demand" (like SQL or something)? Who's gonna win? :-)
July 28th, 2007 1:54pm
If there is a "double-secret probation key" for restricting the amount of RAM that ESE uses, Microsoft is not telling. Personally, I think that would be a useful key. I have a coulple of mailbox servers in my lab that all have 2.5GB of RAM. Store.EXE consumes almost all of that which means working on those server's console's is extremely cumbersome. I'll admit that the types of things that I am doing is the exception rather than the rule, though.
Free Windows Admin Tool Kit Click here and download it now
July 29th, 2007 10:54pm
I agree it's good to use up the memory if thats the sole application. In my case I have an 8 core box with 16GB of RAM and the memory sits at 17.5. Indeed exchange will release memory if I say, start up a few virtual servers to share that box. But with a few virtual servers running, exchange still pushes the memory to more than 1GB over physical memory. This makes the using the box and UI's for exchange extreemly sluggish. I can wait over a minute for my 100 user list to refresh. On this brand new box with these kinds of specs, thats unreasonable. Even more concerning is Virtual Server tuning guides suggest having memory available, that virtual server runs more efficiently with the box not maxed out. I really hope to see a cap option for people who want to do more with their box than let Exchange have its way with it.
October 24th, 2007 11:40pm
I Agree, Matto.
I belivethe guys when then sayExchange 2007will release some memory if other appliance requires it. It seems to me that the problems is in the relationship with Virtual Server.
I have a box with Exchange 2007 + Virtual Server 2005 installed. With no VMs started, the memory usage is near the 6 GB(as expected). The problem is that if I start an VM with 2GB, for example, the memory usage will go up to 8GB,and Exchange won't release the 2GB as expected.
Rafael
Free Windows Admin Tool Kit Click here and download it now
October 29th, 2007 5:53pm
Check out this article: http://www.msexchange.org/pages/newsletters/july2007.asp
January 10th, 2008 2:27pm
Agreed - Rafael.
The problem with Exch2007 (& especially on x64 boxes I've worked on in the field) it doesn't matter how much memory you allocate the box/VMs or other, Store.exe will consume (ask the operating system for) nearly all it - whether it actually 'uses' any of it again. Even though a System will have a Pagefile, Exch2007 uses huge amounts of Virtual Memory - and that's the achilles heel.
As MSFT mentioned - having all these cached objects in memory is an order of magintude faster than accessing the disk....but......this is email! If email gets to the person next to me 5secs-2mins slower, no big problem. It's email and not really expected to be realtime instantaneous messaging.
Enter Unified Messaging and I would love to see limits (upper/lower) or 'how aggressive' you'd like 'just that element' to be.
The problem with a machine running at 98% memory capacity (both RAM + VM) is that any other application/service that runs tasks periodically will fire up, ask for some memory to do its thing and BOOM - the O/S says none left. Store.exe is sitting there using it all. I've not seen any behaviour of Store.exe intercepting the O/S Out of Memory Exception and giving memory 'back'.
In class/training environments it's rare to see the full effect of this sort of problem. Running demos + VPCs up in the morning and shutting them down in the afternoon. Try saving state for 1 month.....then launch notepad :-)
An option I use - is using the Windows Resource Manager (part of Windows O/S CDs/DVDs) which allows allocation of CPU + Memory to each individual Application/Process. This way Store.exe only sees memory that you set, rather than what is.
I was hoping this issue was going to be addressed in SP1....still hoping.
It's pretty amazing when you compare 3rd party email systems running on non-ms platforms to see a) how fast they are, b) how much memory they consume.
HTH,
Mick.
Free Windows Admin Tool Kit Click here and download it now
April 26th, 2008 6:01pm