Topic Last Modified: 2005-11-18

The Microsoft® Exchange Server Analyzer Tool reads the following registry entry to determine the setting for the SystemPages registry value:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\SystemPages

If the Exchange Server Analyzer finds the value for SystemPages is set to 0 and the number of free system page table entries (PTEs) is less than 3001, a warning is displayed.

Microsoft Windows Server™ 2003 and Windows® 2000 Server can directly address up to 4 gigabytes (GB) of memory address space, regardless of how much physical RAM is installed. From the process perspective, each element of virtual address conceptually refers to a byte of physical memory. It is the responsibility of the Virtual Memory Manager (VMM) in conjunction with processor memory management unit (MMU) to translate or map each virtual address into a corresponding physical address. The VMM performs the mapping by dividing the RAM into fixed-size page frames, creating system PTEs to store information about these page frames, and mapping them. System PTEs are small kernel-mode buffers of memory that are used to communicate with the disk I/O subsystem and the network. Each PTE represents a page frame and contains information necessary for the VMM to locate a page.

On an x86-based system that uses a 4 KB page size, the maximum number of PTEs required to map 2 GB of address space is 524,288 (2 GB/4 KB). On a similar system using the /3GB switch, the number of PTEs requires to map 3 GB of address space is 786,432 (3 GB/4 KB). On a typical system, this space is used as follows:

This PTE pool size is automatically determined at system startup based on the amount of physical memory in the system. This pool is squeezed in between paged pool and non-paged pool, which also grows with the amount of physical memory in the system as well.

The system PTE pool can become heavily used and heavily fragmented. This can lead to situations where a driver may not load. Also, if the system PTE pool is depleted entirely, other parts of the system will degrade, even resulting in threads not being created, system stalls, and potential system crashes.

A healthy Exchange Server computer should have at least 5,000 system PTEs available at all times. If the number of free system PTEs drops below 5,000 but remains above 3,001, the warning described in Free Page Table entries is at the warning threshold will be displayed. When the number of free system PTEs drops below 3,001, this error is displayed. To resolve this problem, you can use the procedure below to configure the SystemPages registry value appropriately for your Exchange Server computer's operating system. When you are running Exchange Server 2003 Service Pack 1 (SP1) on Windows Server 2003 with 1 GB or more of RAM, it is recommended that you set the SystemPages registry key to 0. This recommendation contrasts with the recommendation for Windows 2000 Server, which is to set SystemPages to a value between 24,000 and 31,000.

Important:
This article contains information about editing the registry. Before you edit the registry, make sure you understand how to restore the registry if a problem occurs. For information about how to restore the registry, view the "Restore the Registry" Help topic in Regedit.exe or Regedt32.exe.

After performing the procedure described below, you should monitor the number of free system PTEs. You can do this by monitoring the Memory | Free System Page Table Entries performance counter with the Windows System Monitor (also known as Performance Monitor). If, after making the registry change described below, the number of free system PTEs remains low, you should check the following to ensure your Exchange Server computer is optimally configured:

To correct this warning on Windows 2000 Server

  1. Open a registry editor, such as Regedit.exe or Regedt32.exe.

  2. Navigate to: HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management

  3. In the right pane, double-click SystemPages.

  4. In the Value data field, type a value between 24000 and 31000 (decimal), and then click OK.

  5. Close the registry editor and restart the computer for the change to take effect.

To correct this warning on Windows Server 2003

  1. Open a registry editor, such as Regedit.exe or Regedt32.exe.

  2. Navigate to: HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management

  3. In the right pane, double-click SystemPages.

  4. In the Value data field, type 0, and then click OK.

  5. Close the registry editor and restart the computer for the change to take effect.

Before you edit the registry, and for information about how to edit the registry, see the Microsoft Knowledge Base article 256986, "Description of the Microsoft Windows Registry" (http://go.microsoft.com/fwlink/?linkid=3052&kbid=256986).

For more information about optimizing memory for Exchange Server, see the following Knowledge Base articles: