ConcernedOfTunbridgeWells
ConcernedOfTunbridgeWells

Reputation: 66622

Can AWE use >4GB RAM on SQL Server 2005 dev edition on Windows XP 32-bit

Using SQL Server 2005 developer edition on Windows XP pro (32-bit) I notice that the check box to enable AWE (Advanced Windowing Extensions) is enabled. I have an Opteron workstation that I could easily upgrade to 8GB or more, although it is not practical to move off 32-bit Windows XP Pro for the development environment. As far as I can tell, the MMU for the Opteron running in 32-bit mode should support the 36-bit physical address space, much as a 32-bit Xeon.

Reducing the memory footprint of SQL Server would let me give Analysis Services more elbow room.

EDIT: For those not familiar with it, AWE is a facility that allows you to control virtual-physical address mapping and page arbitrary physical memory in and out of the 4GB virtual address space of a process. The MMU on 32 bit Xeons (and some other processors) will actually support more than 4GB of physical RAM, although a single process address space can only see 4GB at a time. From what I can tell the MMU on the Opteron also has this capability on 32-bit code.

SQL Server has support for using AWE to gain access to more than the 2GB or 3GB of physical RAM that its process address space would allow on a 32-bit box. It does this by explicitly managing the mapping, swapping physical memory in and out of the virtual address space. Certain versions of Windows, particularly Windows 2003 and Windows 2000 Advanced Server, will support more than 4GB of memory used in this way, and provide an API for doing this.

The question is: Where I have a machine with hardware support for this, will Windows XP 32-bit let me use more than 4GB of RAM in this way?

Upvotes: 3

Views: 2588

Answers (4)

Shiv
Shiv

Reputation: 1404

WinXP 32-bit can use more than 4GB of memory but it needs PAE and higher memory support enabled.

Here's one such post you can find on the topic. http://www.overclock.net/t/596932/guide-make-32-bit-os-support-128gb-of-ram

Once you have enabled OS support for > 4GB, you can enable AWE and give SQL access to the additional memory.

The OS limit is due purely to licensing and is not actually a physical limitation. Windows Server variants illustrate this with it being common for their Server Datacenter editions able to use 64GB in x86. SQL Server is unusual for a 32-bit application in that it can actually make use of the additional memory whereas most other 32-bit processes are limited to 2GB/3GB.

Upvotes: 0

Roger Lipscombe
Roger Lipscombe

Reputation: 91835

Windows XP (32-bit) doesn't support PAE (i.e. 36-bit physical addresses); it only supports 4GB of RAM. You need Windows 2003 (Enterprise or Datacenter) for PAE support. Since your OS can't use PAE, your applications can't use AWE.

You could run it with the /3GB switch, giving SQL Server more space to breathe.

Personally, I'd upgrade to a 64-bit version of Windows, probably Windows 7 x64.

Upvotes: 10

sinm
sinm

Reputation: 1377

You cant give more than 2Gb address space to user process in 32-bit OS. Practically you have an option to run process in 3Gb user address space using Windows Server 2003 with /3Gb switch applied.

Upvotes: 0

Ray Booysen
Ray Booysen

Reputation: 30031

Unless the operating system has support for more than the 32bit memory addressing space, none of the apps will support it. You would need to upgrade to a 64bit OS to allow SQL server to take advantage of extra RAM.

Upvotes: 1

Related Questions