Skip to main content
NetworkAdminKB Logo

Knowledge Base

Go Search
NetworkAdminKB.com
Knowledge Base
VBScript Library
Utilities
  
NetworkAdminKB.com > Knowledge Base > Knowledge Base > SQL > Using the 3GB and PAE switches when running SQL 2005 causes issues  

Using the 3GB and PAE switches when running SQL 2005 causes issues

Author Details
Author: NetworkAdminKB.com
Created: 2009-05-06
Modified: 2009-05-13
Article Content

Issue:

After implementing the /PAE and /3GB switch in the boot.ini file on Windows 2003 R2 SP2 32 bit.  You may experience some of the following issues when booting the server normally.

 

The server may be very slow to boot.

 

Users are unable to logon to the console and/or various application initialization errors occur while attempting to log onto the console.  The user profile may not load either.  (See Events below).

 

The server network connection does not work properly or at all.  The server may not respond to a ping.  (See Events below).

 

The SQL Server services fail to start, or do not respond.

 

Items that may be found in the Event Logs (may need to boot to Safe Mode to view).

Event ID: 333

Source: Application Popup

Description:

An I/O operation initiated by the Registry failed unrecoverably. The Registry could not read in, or write out, or flush, one of the files that contain the system's image of the Registry.

 

Event ID: 26

Source: Application Popup

Description:

Application popup: userinit.exe - Application Error : The application failed to initialize properly (0xc0000142). Click on OK to terminate the application.

 

Event ID 26 may occur for any of the following processes (or others) as well.

Ie4uinit.exe, Regsvr32.exe, Setup50.exe, Rundll32.exe

 

Event ID: 1508

Source: Userenv

Description:

Windows was unable to load the registry. This is often caused by insufficient memory or insufficient security rights.

DETAIL - An I/O operation initiated by the registry failed unrecoverably. The registry could not read in, or write out, or flush, one of the files that contain the system's image of the registry.  for C:\Documents and Settings\username\ntuser.dat

 

Event ID: 11164

Source: DnsApi

Description:

The system failed to register host (A) resource records (RRs) for network adapter

with settings:

<…. truncated ….>

 

Event ID: 5719

Source: Netlogon

Description:

This computer was not able to set up a secure session with a domain controller in domain DOM1 due to the following:

There are currently no logon servers available to service the logon request.

<…. truncated ….>

 

Cause:

Both the /PAE and /3GB switch reduce the amount of System Paged Table Entries (PTEs) that are available for use.  If the server is also connected to a SAN and using multi-pathing software these drivers will require more PTEs than a server using local attached storage.  This combination (and others) can deplete the PTEs and cause various issues as described above.

 

Note: when the /3GB switch is be used in conjunction with the /PAE switch the operating system does not use any memory in excess of 16GB.  This behavior is caused by kernel virtual memory space considerations. Thus, if the system restarts with the /3GB entry in the Boot.ini file, and the system has more than 16GB of physical memory, the additional physical random access memory (RAM) is not used by the operating system.  Restarting the computer without the /3GB switch enables the use of all the physical memory.

 

Solution:

The goal of the /3GB and /PAE switch combination is to maximize the amount of memory SQL Server can reference on servers with more than 4GB RAM.  However, on systems having more than 4GB RAM using the /PAE switch and enabling AWE in SQL Server should be sufficient.

 

To configure a system to use the /3GB and /PAE when you may need to use the USERVA switch as well.  The USERVA switch allows you to specify the user process Virtual Address Space size.  In general you need 24,000 or more free PTEs on a server for it to function properly.  The specific amount needed may vary by implementation.

 

Try these switches combinations to resolve the issue.

 

For system with more than 16GB RAM

/PAE

 

For systems with between 4GB – 16GB RAM

/PAE /3GB /USERVA=3000

/PAE /3GB /USERVA=2900

/PAE /3GB /USERVA=2800

/PAE

 

For systems with 4GB RAM or less.

/3GB

/3GB /USERVA=3000

/3GB /USERVA=2900

/3GB /USERVA=2800

 

Do not set the USERVA values less than 2800 or more than 3072.  You can monitor free system page table entries using Performance Monitor and monitoring the Memory\Free System Page Table Entries value.

 

More Information:

How to configure SQL 2005 to use more than 2GB Memory

 

Large memory support is available in Windows Server 2003 and in Windows 2000

 

Using the /Userva switch on Windows Server 2003-based computers that are running Exchange Server

 

While the above article references Exchange Server, the topic of using the USERVA switch to manipulate free page table entries still applies to this issue.  The article also has a more detailed overview of the memory architecture of the Windows OS.

 

The memory architecture of the Windows operating system allocates 4GB of RAM to every process.  By default this is allocated as 2GB to OS and 2GB to the process.  The /3GB switch allows memory to be allocated as 1GB to the OS and 3GB to the process.  The entire 4GB is called a Virtual Address Space (VAS), and the two parts are referred to as the System VAS and the User VAS.

 

Furthermore, by default the memory architecture of Windows operating system is limited to 4GB total physical RAM.  However, by adding the /PAE switch to the Boot.ini the Enterprise and Data Center versions of Windows 2003, the OS can access more than 4GB physical memory.  Windows 2003 Standard Edition is limited to 4GB of RAM and does not support Physical Address Extensions (PAE).

 

Related Articles
 
Last modified at 5/13/2009 10:04 PM  by TEMPLATE\kbadmin 
 
 NetworkAdminKB.com
 Copyright © 2008 NetworkAdminKB.com, All rights reserved. Terms of Use | Contact US