We help IT Professionals succeed at work.

Exchage Server/DC runs out of virtual memory every few days.

lasax asked
Last Modified: 2012-08-14
My Exchange 2003 is running on Small Business Server 2003, which is also the domain controller.  I've inherited the network, and I'm trying to figure out why the Exchange server regularly runs out of Virtual Memory.

I'm monitoring with the SolarWinds Exchange Monitor tool, and it shows that I have around 4.88% Available Virtual Memory.

Is this normal / acceptible?  A few days ago, Exchange stopped sending & recieving external emails.  I rebooted the server, and then all was ok, but I'm wondering if it is normal for the virtual memory to be constantly max'd out.  I know that generally, one wouldn't put an Exchange server on the same piece of hardware as a DC, but from what I've read, it is done using SBS.  Can anyone give any comments, suggestions, or advice regarding this topic?
Watch Question

For SBS exchange on the same machine is standard.
Now what process in taskmgr.exe is hogging space.  I know your saying virtual memory but something is probably using standard memory


Hmmm.  Looks like sqlservr.exe is is using 1.6 gb.  
Technical Architect - HA/Compute/Storage
This one is on us!
(Get your first solution completely free - no credit card required)


I'm new to SBS.  I've always run Windows Server OS in Enterprise environments where we clusterd systems and pretty much always had separate hardware for individual functions.  I already checked the 3gb switch issue, and I see that this is not recommended on SBS.  
User home directories are on this server, as well as shared printers.  CPU usage stays low (like 3-8%), and server doesn't appear to be stressed otherwise.  There are only about 40 users at the company.

MPEC thats a nice tool.  Can this be applied to other things say spoolsv.exe


Thank you so much!  I will read through this & try it out!  Cheers!
Philip ElderTechnical Architect - HA/Compute/Storage

The above steps are specific to setting the allowed memory for any SQL instance to take.
As far as spoolsv.exe, not too sure on that one.


I tried this procedure, but got the following failure message {actual servername replaced with "mysbsserver" for this example}.
C:\>osql -E -S mysbsserver\msfw
[DBNETLIB]SQL Server does not exist or access denied.
[DBNETLIB]ConnectionOpen (Connect()).
The offending service is indeed sqlservr.exe (PID 1804).  SQL Server Service Manager is currently set to "Stop".  I tried the mentioned procedure twice (once logged in with a domain admin account, and next time with the SQLAdmin account.
Any idea why I would get this error?  Server does exist, and access should not be denied.  Hmmm...


This didn't seem to solve the issue.  I'm now considering that perhaps I had too many user accounts on the server.  I read that the limit on SBS2003 is around 75 users.  There were over 80 objects before (though about 17 were disabled accounts of terminated employees.  I deleted about 12 of these disabled accounts and performance seems to have improved slightly, even though the virtual memory still ran down to 5% free yesterday.  Physical memory seems to be ok.  Is it normal or acceptible that the server just fills up this buffer of virtual memory since it is available?  Server does not seem slow or anything.  Only once, the outgoing & incoming mail stopped working.  Now I have been rebooting the server on weekends to try to maintain stability (I've read that this is recommended for SBS2003).
Philip ElderTechnical Architect - HA/Compute/Storage

Make sure the instance is running when you run the commands. Also, logging in as domain admin is the key.

Virtual memory can be 2GB-4GB in size on SBS 2003. We set a 10GB partition aside on our boxes for both the OS swap file and the ISA URL cache.

This keeps the virtual memory file relatively fragment free thus improving the system's performance.



Ahaaa.  Ok, that makes sense.  So it won't upset Exchange or anything if I enable it just long enough to do this procedure?  We have a separate SQL2005 server on another box.  I'm assuming that this is the reason the SQL instance has been disabled on SBS2003.  If this is the case, I will run the instance & try the procedure again.  Thanks!
Philip ElderTechnical Architect - HA/Compute/Storage

Using the above mentioned method, you should be able to peg the culprit and put a limit on its memory usage.

Gain unlimited access to on-demand training courses with an Experts Exchange subscription.

Get Access
Why Experts Exchange?

Experts Exchange always has the answer, or at the least points me in the correct direction! It is like having another employee that is extremely experienced.

Jim Murphy
Programmer at Smart IT Solutions

When asked, what has been your best career decision?

Deciding to stick with EE.

Mohamed Asif
Technical Department Head

Being involved with EE helped me to grow personally and professionally.

Carl Webster
CTP, Sr Infrastructure Consultant
Empower Your Career
Did You Know?

We've partnered with two important charities to provide clean water and computer science education to those who need it most. READ MORE

Ask ANY Question

Connect with Certified Experts to gain insight and support on specific technology challenges including:

  • Troubleshooting
  • Research
  • Professional Opinions
Unlock the solution to this question.
Join our community and discover your potential

Experts Exchange is the only place where you can interact directly with leading experts in the technology field. Become a member today and access the collective knowledge of thousands of technology experts.

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.


Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.