Question
Can you give me some understanding of /3GB, /USERVA, and Free Page Table entries?
Answer
The following information is provided in the context of an Altiris Notification Server with or without a local Microsoft SQL* service.
Cheat Sheet for this document. For most customers running Windows 2003: When using /3GB boot.ini switch, also include /USERVA=3008 |
Sample c:\boot.ini file ------------------------- [boot loader] |
Become familiar with the maximum amount of physical RAM supported by your current Operating System edition: Table showing maximum addressable memory by Operating System edition, including PAE limits:
http://www.microsoft.com/whdc/system/platform/server/PAE/pae_os.mspx#ETG
Appropriate usage of the 3GB switch
The 3GB boot.ini switch increases user memory space and reduces system memory space (used by the kernel and file caching). Increasing user memory space is beneficial when running multiple large server applications that cannot address memory beyond the user space. Examples of large server applications that cannot address memory beyond the user space include SQL 2000 standard edition, IIS, and the Notification Server service (aka the Altiris service), which is primarily composed of .NET 1.1 components. The diagrams below illustrate the difference in the amount of memory reserved for System Page Table Entries (PTEs) with and without the /3GB boot.ini switch enabled.
The following prerequisites must be met prior to using the /3GB switch in the C:\boot.ini file.
Problems caused by the 3GB switch
When the 3GB switch reduces the amount of system space on the server, the total amount of Page Table Entries are drastically reduced. If the server ever reaches the point where there are no remaining free Page Table Entries, then a variety of out-of-memory related issues arise. Memory symptoms include:
To avoid this issue, the amount of free table entries should be increased to a minimum of 8,000. This can be accomplished through the /USERVA boot.ini switch for Windows 2003 servers or a registry setting for Windows 2000 servers. See the following section for guidance on using the USERVA switch.
Appropriate usage of the USERVA switch
In Windows 2003, a new setting was added to facilitate changes in the amount of additional user space memory provided by the /3GB switch. By default the /3GB switch establishes the cutoff point at 3072 MB.
To identify if this switch is necessary on Windows 2003 SP1 servers: Open Performance Monitor on the server, add a new counter, select the Memory object, and then select Free System Page Table Entries. Values returned by this counter object should range between 10,000 and 25,000. Values less than 8,000 are an area of concern. |
|
The following prerequisites must be met prior to using the /USERVA parameter in the boot.ini file:
Edit the C:\boot.ini file, append /USERVA=3008 to the appropriate operating system line and restart the server. If the 3008 value is insufficient, continue reducing in 32 MB increments. Values below 2800 are not recommended. The amount of free PTE should become larger as the USERVA setting is decreased. |
|
Appropriate usage of the PTE registry setting
As discussed previously, by default the /3GB switch establishes the cutoff point between the user space and the system space at 3072 MB. For Windows 2000, a registry key setting controls how many Page Table Entries are reserved during the server's startup.
To identify if the registry setting is necessary on Windows 2000 servers: Open Performance Monitor on the server, add a new counter, select the Memory object, and then select Free System Page Table Entries. Values returned by this counter object should range between 10,000 and 25,000. Values less than 8,000 are an area of concern. |
|
The following prerequisites must be met before implementing the registry setting:
To implement the setting:
|
Please review the following links applicable to /3gb switch.
Title : Use of the /3GB switch in Exchange Server 2003 on a Windows Server 2003-based system
http://support.microsoft.com/kb/823440/
Title : How to use the /userva switch with the /3GB switch to tune the User-mode space to a value between 2 GB and 3 GB
http://support.microsoft.com/kb/316739/