Share via


Monitoring Virtual Memory in a Cluster

 

The biggest individual consumer of memory in Exchange 2003 is the Exchange store process (Store.exe). On an active, production Exchange Server 2003 computer, it is not uncommon to notice that the Exchange store process consumes almost all the server memory. Like Exchange Server 5.5, the Store.exe process uses a unique cache mechanism named Dynamic Buffer Allocation (DBA). This process self-governs how much memory it uses; that is, DBA balances the amount of memory it uses against the memory usage of other applications that are running on the server. If Exchange is the only application running, DBA allocates more memory to itself.

The memory that the Exchange store needs depends on the number of Exchange databases that you have on a server, the size of those databases, and the number of transactions per each of those databases. Although each server (or cluster node) in Exchange 2003 can handle up to 20 databases (for a maximum of four storage groups and five databases per storage group), the more databases you have, the more memory the server requires. You can reduce the memory requirements by how you configure additional databases. The first database in a storage group consumes the greatest amount of virtual memory. Therefore, wherever possible, fill your storage groups to the maximum number of databases before you create a new storage group. Filling a storage group:

  • Reduces memory consumption

  • Reduces disk overhead

However, there are several disadvantages to filling a storage group with databases before creating another storage group:

  • Only one backup process can occur in a single storage group at a time. Backing up one database in a storage group stops the online maintenance of all other databases in the storage group.

  • The ability to configure circular logging (a feature that automatically deletes log files that are older than a specified checkpoint) for a specific set of user's mailboxes is minimized. This is because you enable circular logging for the storage group, not for individual databases. If all your databases are in a single storage group, circular logging either applies to all the databases or none of them. If you want to apply circular logging to only several databases, you must create a new storage group, add the appropriate databases to the new storage group, and then apply circular logging to the new storage group. For more information about circular logging, see Disaster Recovery for Microsoft Exchange 2000 Server.