Friday, September 21, 2012

Memory Limits for Windows Releases

This topic describes memory limits for supported Windows releases:
Limits on memory and address space vary by platform, operating system, and by whether the IMAGE_FILE_LARGE_ADDRESS_AWARE value of the LOADED_IMAGE structure and 4-gigabyte tuning (4GT) are in use. IMAGE_FILE_LARGE_ADDRESS_AWARE is set or cleared by using the /LARGEADDRESSAWARE linker option.
4-gigabyte tuning (4GT), also known as application memory tuning, or the /3GB switch, is a technology (only applicable to 32 bit systems) that alters the amount of virtual address space available to user mode applications. Enabling this technology reduces the overall size of the system virtual address space and therefore system resource maximums. For more information, see What is 4GT.
Limits on physical memory for 32-bit platforms also depend on the Physical Address Extension (PAE), which allows 32-bit Windows systems to use more than 4 GB of physical memory.

Memory and Address Space Limits

The following table specifies the limits on memory and address space for supported releases of Windows. Unless otherwise noted, the limits in this table apply to all supported releases.
Memory typeLimit in on X86Limit in 64-bit Windows
User-mode virtual address space for each 32-bit process
2 GB
Up to 3 GB with IMAGE_FILE_LARGE_ADDRESS_AWARE and 4GT
2 GB with IMAGE_FILE_LARGE_ADDRESS_AWARE cleared (default)
4 GB with IMAGE_FILE_LARGE_ADDRESS_AWARE set
User-mode virtual address space for each 64-bit process
Not applicable
With IMAGE_FILE_LARGE_ADDRESS_AWARE set (default):
x64:  8 TB
Intel Itanium-based systems:  7 TB
2 GB with IMAGE_FILE_LARGE_ADDRESS_AWARE cleared
Kernel-mode virtual address space
2 GB
From 1 GB to a maximum of 2 GB with 4GT
8 TB
Paged pool
Limited by available kernel-mode virtual address space or the PagedPoolLimit registry key value.
Windows Vista and above:  Limited only by kernel mode virtual address space. Starting with Windows Vista with Service Pack 1 (SP1), the paged pool can also be limited by the PagedPoolLimit registry key value.
Windows Home Server and Windows Server 2003:  530 MB
Windows XP:  490 MB
128 GB
Windows Server 2003 and Windows XP:  Up to 128 GB depending on configuration and RAM.
Nonpaged pool
Limited by available kernel-mode virtual address space, the NonPagedPoolLimit registry key value, or physical memory.
Windows Vista:  Limited only by kernel mode virtual address space and physical memory. Starting with Windows Vista with SP1, the nonpaged pool can also be limited by the NonPagedPoolLimit registry key value.
Windows Home Server, Windows Server 2003, and Windows XP:  256 MB, or 128 MB with 4GT.
75% of RAM up to a maximum of 128 GB
Windows Vista:  40% of RAM up to a maximum of 128 GB.
Windows Server 2003 and Windows XP:  Up to 128 GB depending on configuration and RAM.
System cache virtual address space (physical size limited only by physical memory)
Limited by available kernel-mode virtual address space or the SystemCacheLimit registry key value.
Windows Vista:  Limited only by kernel mode virtual address space. Starting with Windows Vista with SP1, system cache virtual address space can also be limited by the SystemCacheLimit registry key value.
Windows Home Server, Windows Server 2003, and Windows XP:  860 MB with LargeSystemCache registry key set and without 4GT; up to 448 MB with 4GT.
Always 1 TB regardless of physical RAM
Windows Server 2003 and Windows XP:  Up to 1 TB depending on configuration and RAM.

Physical Memory Limits: Windows 7

The following table specifies the limits on physical memory for Windows 7.
VersionLimit on X86Limit on X64
Windows 7 Ultimate 4 GB
192 GB
Windows 7 Enterprise 4 GB
192 GB
Windows 7 Professional 4 GB
192 GB
Windows 7 Home Premium 4 GB
16 GB
Windows 7 Home Basic 4 GB
8 GB
Windows 7 Starter 2 GB
N/A

Physical Memory Limits: Windows Server 2008 R2

The following table specifies the limits on physical memory for Windows Server 2008 R2. Windows Server 2008 R2 is available only in 64-bit editions.
VersionLimit on X64Limit on IA64
Windows Server 2008 R2 Datacenter 2 TB

Windows Server 2008 R2 Enterprise 2 TB

Windows Server 2008 R2 for Itanium-Based Systems
2 TB
Windows Server 2008 R2 Foundation 8 GB

Windows Server 2008 R2 Standard 32 GB

Windows HPC Server 2008 R2 128 GB

Windows Web Server 2008 R2 32 GB


Physical Memory Limits: Windows Server 2008

The following table specifies the limits on physical memory for Windows Server 2008. Limits greater than 4 GB for 32-bit Windows assume that PAE is enabled.
VersionLimit on X86Limit on X64Limit on IA64
Windows Server 2008 Datacenter 64 GB
1 TB

Windows Server 2008 Enterprise 64 GB
1 TB

Windows Server 2008 HPC Edition
128 GB

Windows Server 2008 Standard 4 GB
32 GB

Windows Server 2008 for Itanium-Based Systems

2 TB
Windows Small Business Server 2008 4 GB
32 GB

Windows Web Server 2008 4 GB
32 GB


Physical Memory Limits: Windows Vista

The following table specifies the limits on physical memory for Windows Vista.
VersionLimit on X86Limit on X64
Windows Vista Ultimate 4 GB
128 GB
Windows Vista Enterprise 4 GB
128 GB
Windows Vista Business 4 GB
128 GB
Windows Vista Home Premium 4 GB
16 GB
Windows Vista Home Basic 4 GB
8 GB
Windows Vista Starter 1 GB


Physical Memory Limits: Windows Home Server

Windows Home Server is available only in a 32-bit edition. The physical memory limit is 4 GB.

Physical Memory Limits: Windows Server 2003 R2

The following table specifies the limits on physical memory for Windows Server 2003 R2. Limits over 4 GB for 32-bit Windows assume that PAE is enabled.
VersionLimit on X86Limit on X64
Windows Server 2003 R2 Datacenter Edition
64 GB
(16 GB with 4GT)
1 TB
Windows Server 2003 R2 Enterprise Edition
64 GB
(16 GB with 4GT)
1 TB
Windows Server 2003 R2 Standard Edition
4 GB
32 GB

Physical Memory Limits: Windows Server 2003 with Service Pack 2 (SP2)

The following table specifies the limits on physical memory for Windows Server 2003 with Service Pack 2 (SP2). Limits over 4 GB for 32-bit Windows assume that PAE is enabled.
VersionLimit on X86Limit on X64Limit on IA64
Windows Server 2003 with Service Pack 2 (SP2), Datacenter Edition
64 GB
(16 GB with 4GT)
1 TB
2 TB
Windows Server 2003 with Service Pack 2 (SP2), Enterprise Edition
64 GB
(16 GB with 4GT)
1 TB
2 TB
Windows Server 2003 with Service Pack 2 (SP2), Standard Edition
4 GB
32 GB


Physical Memory Limits: Windows Server 2003 with Service Pack 1 (SP1)

The following table specifies the limits on physical memory for Windows Server 2003 with Service Pack 1 (SP1). Limits over 4 GB for 32-bit Windows assume that PAE is enabled.
VersionLimit on X86Limit on X64Limit on IA64
Windows Server 2003 with Service Pack 1 (SP1), Datacenter Edition
64 GB
(16 GB with 4GT)
X64 1 TB
1 TB
Windows Server 2003 with Service Pack 1 (SP1), Enterprise Edition
64 GB
(16 GB with 4GT)
X64 1 TB
1 TB
Windows Server 2003 with Service Pack 1 (SP1), Standard Edition
4 GB
32 GB


Physical Memory Limits: Windows Server 2003

The following table specifies the limits on physical memory for Windows Server 2003. Limits over 4 GB for 32-bit Windows assume that PAE is enabled.
VersionLimit on X86Limit on IA64
Windows Server 2003, Datacenter Edition
64 GB
(16 GB with 4GT)
512 GB
Windows Server 2003, Enterprise Edition
64 GB
(16 GB with 4GT)
512 GB
Windows Server 2003, Standard Edition
4 GB

Windows Server 2003, Web Edition
2 GB

Windows Small Business Server 2003
4 GB

Windows Compute Cluster Server 2003

32 GB
Windows Storage Server 2003, Enterprise Edition
8 GB

Windows Storage Server 2003
4 GB


Physical Memory Limits: Windows XP

The following table specifies the limits on physical memory for Windows XP.
VersionLimit on X86Limit on X64Limit on IA64
Windows XP 4 GB
128 GB
128 GB (not supported)
Windows XP Starter Edition 512 MB
N/A
N/A

Physical Memory Limits: Windows Embedded

The following table specifies the limits on physical memory for Windows Embedded.
VersionLimit on X86Limit on X64
Windows XP Embedded
4 GB

Windows Embedded Standard 2009
4 GB

Windows Embedded Standard 7
4 GB
192 GB

How graphics cards and other devices affect memory limits

Devices have to map their memory below 4 GB for compatibility with non-PAE-aware Windows releases. Therefore, if the system has 4GB of RAM, some of it is either disabled or is remapped above 4GB by the BIOS. If the memory is remapped, X64 Windows can use this memory. X86 client versions of Windows don’t support physical memory above the 4GB mark, so they can’t access these remapped regions. Any X64 Windows or X86 Server release can.
X86 client versions with PAE enabled do have a usable 37-bit (128 GB) physical address space. The limit that these versions impose is the highest permitted physical RAM address, not the size of the IO space. That means PAE-aware drivers can actually use physical space above 4 GB if they want. For example, drivers could map the "lost" memory regions located above 4 GB and expose this memory as a RAM disk.

Original Post