dcsimg

How to address three gigabytes of memory for analysis on 32-bit operating systems

Products

Webtrends Analytics 8.5x
Webtrends Analytics 8.1x
Webtrends Analytics 8.0x

Cause

All 32-bit applications have a four-gigabyte process address space (32-bit addresses can map a maximum of four gigabytes of memory). Microsoft Windows operating systems provide applications with access to two gigabytes of process address space, specifically known as user mode virtual address space. All threads owned by an application share the same user mode virtual address space. The remaining two gigabytes are reserved for the operating system (also known as kernel mode address space). All operating system editions starting with Windows 2000 Server, have a boot.ini switch that can provide applications with access to three gigabytes of process address space, limiting the kernel mode address space to one gigabyte.

The following two boot.ini switches must be set to enable an application to utilize more than two gigabytes of physical memory in a 32-bit operating environment:

/pae – Enables physical address extension
/3gb – Causes the kernel to use only one gigabyte of memory and allocates three gigabytes to application processing

Accessing the Process Address Space:
AWE is a set of extensions to the memory management functions of Windows. Address Windowing Extensions (AWE) extend the capabilities of 32-bit applications by allowing access to as much physical memory as the operating system supports. AWE accomplishes this by mapping a subset of up to 64 gigabytes into the user address space. Mapping between the application buffer pool and AWE-mapped memory is handled through manipulation of the Windows virtual memory tables.

To enable support for three gigabytes of user mode process space, add the /3gb parameter to the boot.ini file and reboot the computer, allowing the /3gb parameter to take effect. This can be accessed under Control Panel > System > Advanced > Startup and Recovery Settings, then select Edit under System startup.

Before you configure the operating system for AWE, consider the following:

AWE allows allocating physical memory over four gigabytes on 32-bit architecture. AWE should be used only when available physical memory is greater than user-mode virtual address space. To support more than four gigabytes of physical memory on 32-bit operating systems, you must add the /pae parameter to the boot.ini file and reboot the computer. For more information, see your Windows documentation. If there is more than 16 gigabytes of physical memory available on a computer, the operating system requires two gigabytes of virtual address space for system purposes and therefore can support only a two gigabytes user mode virtual address space. For the operating system to use the memory range above 16 gigabytes, be sure that the /3gb parameter is not in the boot.ini file. If it is, the operating system cannot use any physical memory above 16 gigabytes.

Note:
In Windows Server 2003, PAE is automatically enabled only if the server is using hot-add memory devices. In this case, you do not have to use the /pae parameter on a system that is configured to use hot-add memory devices. In all other cases, you must use the /pae parameter in the boot.ini file to take advantage of memory over four gigabytes.

Example of use:
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=”Windows Server 2003, Enterprise” /3gb /fastdetect /NoExecute=OptIn

[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=”Windows Server 2003, Enterprise” /pae /fastdetect /NoExecute=OptIn

Resolution


More Information

Further information:
http://msdn.microsoft.com/en-us/library/Aa366796

http://msdn.microsoft.com/en-us/windows/hardware/gg487508.aspx