1

We have a 4GB virtual Windows 2003 Server running Exchange 2007 & SQL 2005. Whilst not a specialist on these systems, I do know that Exchange uses memory in a different way to other applications. Something like it will use as much memory as it can but give it back up if another application asks for it. I'm not sure if SQL Server works the same way.

The server was a little sluggish recently although a reboot appears to have improved performance. Whilst we were diagnosing this, we noticed that the server was using a reasonable amount of virtual memory in the page file:

http://www.picpaste.com/appserver.PNG

Is this a cause for concern or is it normal on an Exchange server? Note that it's using about half of the available VM.

The system is configured with 4GB of physical memory and 5GB of virtual memory. I'm not sure how we came up with that custom configuration. It seems a little high to me. I seem to remember x2 sizing for the page file, i.e. if 4GB of RAM, it should have a 2GB swap file but that might be based upon old practise/dim memory. What is the best practise for page file size for an Exchange/SQL server like this?

Finally, memory is (relatively) cheap. Do you think this server needs more memory? Exchange is supporting 100 users and SQL probably has about 10 concurrent connections with relatively light use for a SQL server.

Cheers, Rob.

Rob Nicholson
  • 1,707
  • 8
  • 29
  • 56

2 Answers2

1

Not sure about how Exchange uses RAM, but SQL Server assumes it is the only application on a server and will reserve all the memory leaving just a slice for the OS. I did once find an MS page that explained what proportion it left for the OS and what other things it considered but I can't currently find it.
I would suggest setting a limit on the amount of RAM that SQL Server can use, as a pure guess on my part I'd start with 1GB. You should then monitor the performance of SQL and Exchange as well as monitor the RAM usage on the server to see if this has any affect, either good or bad.
Lastly, as this is a virtual server, have you considered seperating SQL and Exchange onto seperate virtual machines, if you can't do this then I would try and allocate this single virtual more RAM. Assuming the guest OS can use it.

pipTheGeek
  • 1,152
  • 5
  • 7
  • Exchagne does the same, and pre 2007 on Server 2008 it is hard to control Exchange RAM usage.... it will overflow on smaller servers unless you force it lower by registry key. SQL+Exchange requires registry for exchange, RAM settings for SQL to work nicely at all. – TomTom Aug 02 '10 at 12:30
0

I'm a little confused: is it a virtual or physical server?

If you are running Windows Server 2003 Standard, then you can't add physical memory. If it's another release then see this table for maximum RAM limits.

If the 100 users are very active with large mailboxes and a lot of mail traffic, and the SQL database is large or has complex data structures, then you are most likely short on RAM. The virtual memory consumption suggests this is the case.

A common server recommendation for Windows 2003 was to make the page file 1.5 times the RAM, if there was no disk shortage and no other supporting information. So 5GB in your case is not unusual. Best practice is not to need the page file and have physical RAM sized to cope with load. However, if it's a virtual server, you need to minimise page file usage even more than on a physical server and you're almost certainly seeing a performance hit with this workload. It may not be noticeable to users though, eg if Exchange is being used in cache mode and the SQL apps are not highly interactive.

One tip is to make sure the minimum and maximum sizes of the page file are the same, in other words the page file is not dynamically expanding and becoming fragmented. It looks like in your case that it's a bit late for that advice although you could always try removing it, de-fragmenting the drive, and re-creating it (make it 6GB or 8GB if space allows).

William
  • 1,158
  • 8
  • 9
  • It's a virtual server running on ESX Server. The OS is 64 bit as there isn't a 32 bit version of Exchange 2007. We are pretty heavy Exchange users so I'm tempted to upgrade it just to see – Rob Nicholson Jun 23 '10 at 12:29
  • Ah yes I missed the 64 bit connection. Agreed, if it's not difficult to arrange then I would try 6GB RAM and 6GB page file. – William Jun 23 '10 at 12:36