Topic Last Modified: 2006-03-13
The Microsoft® Exchange Server Analyzer Tool reads the following registry entry to determine the value for SystemPages:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Memory Management\SystemPages
If the Exchange Server Analyzer finds the value for SystemPages to be larger than 50000, the Exchange Server Analyzer displays a warning.
Microsoft Windows Server™ 2003 and Microsoft 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 manager 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 page table entries (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:
- A maximum of 50,000 PTEs (approximately 195 MB address
space) are reserved for general use.
- The rest is used in mapping system cache, hyperspace, paged
pool, non-paged pool, crash dump area, and so on.
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.
The system PTE pool can become heavily used and heavily fragmented. This could lead to situations where a driver may not load, and so on. 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.
To prevent the system PTE pool from becoming heavily fragmented, you should always configure the SystemPages registry value appropriately for your Exchange Server computer's operating system. When you are running Exchange Server on Windows Server 2003, 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 24000 and 31000.
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 Performance Monitor (also known as System 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:
- Drivers A malfunctioning driver is one of the most
common causes of low system PTEs. In addition, certain versions of
the S3 Savage 4 video card drivers are known to set
SystemPages to 208896. This driver is often found on IBM
E-Series servers. Check with your hardware manufacturer to ensure
you are using the latest drivers for all of your hardware. There
may be opportunities to downgrade to a more basic driver, as well.
For example, computers that run server-based applications such as
Exchange Server generally do not need the most advanced video
drivers with all of the features. Instead, a more basic driver is
often sufficient. Switching from an advanced video driver to a
basic video driver should increase the number of free system
PTEs.
- System configuration If your Windows Server 2003
system has 1 GB or more of physical memory installed, you
should check to ensure that its Boot.ini file is correctly
configured with the /3GB and /USERVA=3030 switches as described in
the following Microsoft Knowledge Base articles:
- 823440, "You Must Use the /3GB Switch When You Install Exchange
Server 2003 on a Windows Server 2003-Based System"
(http://go.microsoft.com/fwlink/?linkid=3052&kbid=823440)
- 810371, "XADM: Using the /Userva Switch on Windows
Server 2003-Based Exchange Servers" (http://go.microsoft.com/fwlink/?linkid=3052&kbid=810371).
- 823440, "You Must Use the /3GB Switch When You Install Exchange
Server 2003 on a Windows Server 2003-Based System"
(http://go.microsoft.com/fwlink/?linkid=3052&kbid=823440)
- Event Logs Check the application event log on the
Exchange Server for errors and warnings, especially
MSExchangeIS events 9582 (errors and warnings), 9665
(warning) and 12880 (error). The presence of event 9665 could also
indicate that SystemPages is not configured for optimal
performance. For more information about these events, see the
Knowledge Base article 325044, "HOW TO: Troubleshoot Virtual Memory
Fragmentation in Exchange 2003 and Exchange 2000"
(http://go.microsoft.com/fwlink/?linkid=3052&kbid=325044).
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. |
To correct this warning on Windows 2000 Server by changing the value for SystemPages
-
Open a registry editor, such as Regedit.exe or Regedt32.exe.
-
Navigate to: HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
-
In the right pane, double-click SystemPages.
-
In the Value data field, type a value between 24000 and 31000 (decimal), and then click OK. If you are unsure what value to use, we recommend using 31000 (decimal).
-
Close the registry editor and restart the computer for the change to take effect.
To correct this warning on Windows Server 2003 by changing the value for SystemPages
-
Open a registry editor, such as Regedit.exe or Regedt32.exe.
-
Navigate to: HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
-
In the right pane, double-click SystemPages.
-
In the Value data field, type 0, and then click OK.
-
Close the registry editor and restart the computer for the change to take effect.
To correct this warning by updating or downgrading the video driver
-
Do one of the following:
- Contact your hardware manufacturer to obtain an updated video
driver that does not configure the SystemPages setting.
- Downgrade the video driver to a standard VGA driver, and
correct the SystemPages value as described above.
- Contact your hardware manufacturer to obtain an updated video
driver that does not configure the SystemPages setting.
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:
- 325044, "HOW TO: Troubleshoot Virtual Memory Fragmentation in
Exchange 2003 and Exchange 2000" (http://go.microsoft.com/fwlink/?linkid=3052&kbid=325044)
- 815372, "How to optimize memory usage in Exchange
Server 2003" (http://go.microsoft.com/fwlink/?linkid=3052&kbid=815372)
- 311901, "The effects of 4GT tuning on System Page Table
Entries" (http://go.microsoft.com/fwlink/?linkid=3052&kbid=311901)