In the last two days I had responded to an AWE related question atleast 4 times. The question revolved around enabling AWE on a server running Windows Server 2008 (32 bit). Even though AWE is enabled in SQL Server, it will not take effect if the Operating System is not configured with the /PAE switch.
Some facts about Physical Address Extension (PAE).
- By default 32 bit systems will not be able to access more than 4 GB of RAM
- The PAE feature enables 32 bit systems to recognize more than 4 GB of RAM installed
- However PAE switch does not increase the Virtual Address Space (VAS) available to the windows process. Any windows process has a VAS size of 4 GB. Again this is divided into User Mode Space and Kernel Mode Space of 2 GB each. The /3GB switch will increase the User Mode space to 3GB there by decreasing the Kernel Mode space to 1 GB
Coming back to the question “Is /PAE switch still available in Windows Server 2008“. The answer is Yes if it is Windows Server 2008 (32 bit). In earlier versions of Windows to enable PAE, c:boot.ini file had to be edited. Against each Operating System listed in boot.ini, the /PAE switch had to be entered. The boot.ini looks like this
[boot loader] timeout=0 default=multi(0)disk(0)rdisk(0)partition(1)WINNT [operating systems] multi(0)disk(0)rdisk(0)partition(1)WINNT=”Microsoft Windows 2003 Enterprise Server” /fastdetect /PAE
After making this change, rebooting the server would ensure that the Server recognizes memory greater than 4 GB.
In Windows Server 2008, this change cannot be done in boot.ini file. It has to be done using the BCDEDIT /SET command. In order to enable PAE, the following needs to be done.
- Open Command Prompt with elevated privileges (Runas Administrator)
- Execute the following command
BCDEDIT /SET PAE ForceEnable
PAE will be enabled after the server reboot. To disable PAE /NOPAE keyword needs to be used instead of PAE in the above command.