Microsoft Exchange 2003 – Monitoring Memory Performance

Introduction to Exchange 2003 Server – Monitoring Memory Performance

The good news is that Exchange 2003 server does a first class job of monitoring memory automatically.  Improving upon the default is like playing a computer at chess, the best experts can win, but ordinary mortals will be beaten.  However, because memory usage is so often the server bottleneck, it’s well worth analyzing available bytes and paging.

Topics for Monitoring Memory Performance in Exchange 2003 Server

 ♠

Memory – Number one Exchange Bottleneck

Exchange 2003 Performance Monitor Available bytes - Memory MonitoringFrom time immemorial, memory has been the first place to look for a bottleneck on a mail server.  This Exchange service, which consumes the most memory, has various names, Store.exe, Information Store, MSExchangeIS.

As you monitor your Exchange 2003 server, here are key questions to ask.

  1. Does my server have enough RAM?  If not, what can I do?
  2. How can I make the best use of available memory?
  3. What are the basic memory counters?  Should I bother with additional process and MSExchangeIS counters?
  4. What are the performance figures for other servers?

Guy Recommends : SolarWinds’ Free VM MonitorSolarwinds VM Console Free Download

The best feature of this new this new version of SolarWinds VM Monitor is that it checks Windows Hyper-V.  Naturally, it still works with virtual machines on VMware ESX Servers.  VM Monitor is a clever desktop tool that not only tests that your server is online, but also displays the CPU and memory utilization for each node.

It’s easy to install and to configure this virtual machine monitor, all you need the host server’s IP address or hostname and the logon info. Give this virtual machine monitor a try – it’s free.

Download your free copy of SolarWinds VM Monitor.

Performance Monitor Guidelines

I have selected critical performance objects and counters to help you analyze memory usage on Exchange 2003 server.  Whilst I provide critical values, always keep in mind the broader picture, for example, is this just a spike or is it continuous high value?

My advice is to try a short test Performance Log for say 10 minutes.  Sampling at 30 second intervals to begin with.  As a result of feedback from this pilot study, remove counters that yielded inconclusive data and re-record the log for between 2 and 8 hrs, but at 5 minute intervals.  For more guidance on getting started check creating a performance log

Performance Object

Critical Value

Memory \Available Bytes Greater than 10 MB
Memory \Pages Sec Not more than 50 \ Sec
Memory \Pool Nonpaged Bytes Above 100MB indicates a problem
Memory \Free System Page
Process \Store \ Virtual Bytes Less than 2.5 GB (With /3GB)
Less than 1.5 GB (no /3GB switch)
MSExchangeIS \ VM Largest Block size More than : 150 MB
~ 150,000,000 bytes

Solutions to Memory problems

Exchange 2003 has the best ever virtual memory manager.  In particular, it reduces memory fragmentation and increases availability, as a result Exchange 2003 can support more users than ever.  Here are some rough figures to illustrate my point, Exchange 5.5 – 500 users, Exchange 2000 – 1,000, Exchange 2003 – 1,500.

  1. Up to a point, memory problems are straightforward to solve, just add another stick of RAM.  Once you get above 1GB of RAM then consider tuning boot.ini.  Here is where you can configure the /3GB switch.
  2. If, for what ever reason, you do not wish to add more RAM then its time to think laterally.
  3. Can you offload service onto another server?  For example keep Exchange on the monitored server, but move SQL, Active Directory or other competing programs to another server.
  4. Could it be time for another Exchange server?  Either an additional back-end server, or a front-end server for OWA clients.

Exchange Monitor from SolarWindsGuy Recommends: The SolarWinds Exchange Monitor

Here is a free tool to monitor your Exchange Server.  Download and install the utility, then inspect your mail queues, monitor the Exchange server’s memory, confirm there is enough disk space and check the CPU utilization.

This is the real deal – there is no catch.  SolarWinds provides this fully-functioning freebie, as part of their commitment to supporting the network management community.

Free Download of SolarWinds Exchange Monitor

Cluster Memory

Virtual Servers in Clusters may suffer from memory fragmentation.  You may get conformation of a problem by finding Monitor Event ID 9582 in the Application Log (Event Viewer).

Once again, monitor counters under MSExchangeIS to confirm or deny problems with cluster memory.

Cluster Specific counters

 MSExchangeIS
\VM Largest Block Size

A healthy server has more than 200 MB free.  Less than 10 MB you get Event ID 9582.

 MSExchangeIS
\Total 16MB Free Blocks

Less than 3 indicates a problem.

 MSExchangeIS
\Total Large Free Block Bytes

Less then 32 MB.  Suggest restart Node on Cluster.  Failover first.

Summary – Memory Monitoring

Exchange server 2003 is greedy for memory.  Performance monitoring will not only check for bottlenecks but also help you understand how memory management works.  Get started and create log and check your data against my guidelines for critical values.

See Also