Click to Rate and Give Feedback
MSDN
MSDN Library
System Services
Memory Management
 Memory Limits for Windows Releases

  Switch on low bandwidth view
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.

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.

Memory typeLimit in 32-bit WindowsLimit 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 IPF:  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:  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
Windows 2000:  350 MB

128 GB

Windows Server 2003 and Windows XP:  Up to 128 GB depending on configuration and RAM.
Windows 2000:  Not applicable

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/2000:  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.
Windows 2000:  Not applicable

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/2000:  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.
Windows 2000:  Not applicable

 

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 in 32-bit WindowsLimit in 64-bit Windows
Windows Server 2008 Datacenter (full installation)

64 GB

2 TB

Windows Server 2008 Datacenter (Server Core installation)

64 GB

2 TB

Windows Server 2008 Enterprise

64 GB

2 TB

Windows Server 2008 HPC Edition

Not applicable

128 GB

Windows Server 2008 Standard

4 GB

32 GB

Windows Server 2008 for Itanium-Based Systems

Not applicable

2 TB

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 in 32-bit WindowsLimit in 64-bit Windows
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

Not applicable

 

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

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 in 32-bit WindowsLimit in 64-bit Windows

Windows Server 2003 with Service Pack 2 (SP2), Datacenter Edition

128 GB

64 GB with 4GT

2 TB

Windows Server 2003 with Service Pack 2 (SP2), Enterprise Edition

64 GB

2 TB

Windows Storage Server 2003, Enterprise Edition

8 GB

Not applicable

Windows Storage Server 2003

4 GB

Not applicable

Windows Server 2003 R2 Datacenter Edition

Windows Server 2003 with Service Pack 1 (SP1), Datacenter Edition

128 GB

16 GB with 4GT

1 TB

Windows Server 2003 R2 Enterprise Edition

Windows Server 2003 with Service Pack 1 (SP1), Enterprise Edition

64 GB

16 GB with 4GT

1 TB

Windows Server 2003 R2 Standard Edition

Windows Server 2003, Standard Edition SP1

Windows Server 2003, Standard Edition SP2

4 GB

32 GB

Windows Server 2003, Datacenter Edition

128 GB

16 GB with 4GT

512 GB

Windows Server 2003, Enterprise Edition

32 GB

16 GB with 4GT

64 GB

Windows Server 2003, Standard Edition

4 GB

16 GB

Windows Server 2003, Web Edition

2 GB

Not applicable

Windows Small Business Server 2003

4 GB

Not applicable

Windows Compute Cluster Server 2003

Not applicable

32 GB

 

Physical Memory Limits: Windows XP

The following table specifies the limits on physical memory for Windows XP.

VersionLimit in 32-bit WindowsLimit in 64-bit Windows
Windows XP

4 GB

128 GB

Windows XP Starter Edition

512 MB

Not applicable

 

Physical Memory Limits: Windows 2000

The following table specifies the limits on physical memory for Windows 2000.

VersionLimit in 32-bit Windows
Windows 2000 Professional

4 GB

Windows 2000 Server

4 GB

Windows 2000 Advanced Server

8 GB

Windows 2000 Datacenter Server

32 GB

 

See Also

4-Gigabyte Tuning
IMAGE_FILE_LARGE_ADDRESS_AWARE
Physical Address Extension

Send comments about this topic to Microsoft

Build date: 7/2/2009

Tags What's this?: Add a tag
Community Content   What is Community Content?
Add new content RSS  Annotations
Memory Limits      robitpro ... Thomas Lee   |   Edit   |   Show History
Well, that's not logical - 64-bit Vista Business can have up to 128GB RAM, while 64-bit Windows Server 2008 Standard can only have 32GB. Standard Edition is expensive enough to justify increasing the limit to 128GB in my opinion. Why should buying the next version up, Enterprise Edition, allow a 64-increase in memory (up to 2TB!) - unless Standard Edition is being gradually phased out? Hopefully this will be done with Windows Server 2008 Service Pack 1? I can understand Web Edition being limited to just 32GB though.

That said, most of the memory limits make sound sense.
Windows 2003 x64      8026mn   |   Edit   |   Show History

There was a Windows 2003 x64 verison i.e. NON R2 so why does it list this as Not applicable ? Should be 32gb for x64 same as R2 version?

Tags What's this?: Add a tag
Flag as ContentBug
XP / Vista x86      DNoonon ... Thomas Lee   |   Edit   |   Show History

WROTE:

XP and Vista can only truly manage ~3GB of Physical RAM. 4GB is misleading.

Quote:

Xp and Vista can truly manage ~4GB of physical RAM, but shows only the "available" ram. If you have a onboard vídeo with 512mb and something else on-board to complete 1gb, your manager will show only 3GB "available".

QUOTE: PP

Xp and Vista can truly manage ~4GB of physical RAM

Tags What's this?: Add a tag
Flag as ContentBug
Enable PAE for full use of 4GB RAM      Angelo D_Elia ... vinodsham   |   Edit   |   Show History
http://...

The above link describes how to set up PAE (Physical Address Extension) on Vista 32 bits (It can be done in other 32 bits Windows), so that it can make use of 4GB RAM, not just ~3.5GB.

To authors of this message: Please, read how PAE works.
Facts      MS4U ... Thomas Lee   |   Edit   |   Show History
  • A 32 bit OS can only use 4GB of memory total, that means if you have 4GB of ram and your graphic card has 1GB of ram, you have a total of 5GB of memory.
  • Out of that 5GB of memory, you can only use 4GB total. 1GB the graphic card will take up, so now the 32bit OS can only use 3GB.

  • Enabling PAE, will limit to the OS to 2GB total. What PAE does is dedicate 2GB to OS and the other 2GB to anything other then the OS. Apparently some people don't understand how PAE works and think that some how it can magically make a 32bit XP use more then 4GB, which is impossible, so after noticing my explanation is not getting through, I thought a visual from MS itself might help sink it in, you can see it here: http://www.microsoft.com/whdc/system/platform/server/PAE/PAEdrv.mspx
  • Vista 32bit can see only 3.5GB of ram total. The new sp1 only reports how much memory you have intalled, not how much memory you can use.
Tags What's this?: 32bit (x) 4gb (x) contentbug (x) os (x) ram (x) Add a tag
Conflicting information about 64-bit XP limit (inconsistent with KB 283247)      eezvmt   |   Edit   |   Show History

The limit for 64-bit XP is given as 128 GB, while on the support site, http://support.microsoft.com/kb/283247/en-us, it is given as 16 GB!

What is correct, 16 GB or 128 GB?

Some customers have been reported problems with running 64-bit XP on 32 GB RAM. Can you clarify if 32 Gb RAM is supported and if so, what was the purpose of information in KB 283247

How much windows VISTA 64-bit dedicates to a 32-bit application!      Chikitin   |   Edit   |   Show History
I running windwos Vista 64-bit with 8-GB of ram. Most of my applications are 32-bit applications. How much RAM can VISTA dedicates to 32-bit application?

cs

Tags What's this?: Add a tag
Flag as ContentBug
Facts in error      Victor.S ... MS4U   |   Edit   |   Show History

"Apparently some people don't understand how PAE works and think that some how it can magically make a 32bit XP use more then 4GB, which is impossible, so after noticing my explanation is not getting through, I thought a visual from MS itself might help sink it in, you can see it here: http://www.microsoft.com/whdc/system/platform/server/PAE/PAEdrv.mspx"


I also mistakenly thought a 32bit operating system could only use 4GB, having only 32 address bits to work with. But as you can see from the tables above, 32bit Windows Server 2008 can use up to 64GB of physical memory. Turning on the PAE feature modifies the virtual address mapping used by the processor hardware. There is a good explanation on Wikipedia:
http://en.wikipedia.org/wiki/Physical_Address_Extension

Very basically, each process is still limited to 4GB because of the 32bit addresses, but the OS can use a processor control register to map that 4GB space above the 4GB. So process "A" might have it's 4GB virtual address space start in physical ram at 8GB, process "B" at 12GB, etc.

Many people will doubt this because of their personal experience with Microsoft 32bit desktop operating systems. Microsoft has specifically limited the desktops to 4GB for driver compatibility reasons.

Correction, read my facts again and you will see I specifically said "XP 32 bit", second I point to ms's own site and you take us to wiki which anybody can edit? since when is wiki's info more reliable then ms's own site when we discussing ms's OS? lol

In short XP 32-bit can't see more then 4GB of ram total no matter what you do, and its clearly stated here by MS:http://www.microsoft.com/whdc/system/platform/server/PAE/PAEdrv.mspx

yes other 32-bit OS-es can use more then 4GB of ram but not XP 32-bit

Tags What's this?: Add a tag
Flag as ContentBug
Answers      Pacoup   |   Edit   |   Show History

"I running windwos Vista 64-bit with 8-GB of ram. Most of my applications are 32-bit applications. How much RAM can VISTA dedicates to 32-bit application?"

64 bit editions of Windows can only attribute a total of 4 GiB of RAM to any single 32 bit virtual memory instance (or application), regardless of your total RAM. The reason is simple, 64 bit editions of Desktop Windows run on the x86-64 architecture, which is a processor architecture capable of running both 64 and 32 bit instructions, limiting 32 bit instructions (or applications) to what 32 bit limits them to, thus, 4 GiB of RAM.

Intel and AMD's specification of PAE does support the x86-64 architecture but the software layer of Microsoft's PAE (the API), called AWE, is not supported on 64 bit editions of Windows, so Windows Vista 64 bit cannot attribute more than 4 GiB of RAM for a 32 bit application.

In fact, true 64 bit architectures like the Intel Itanium processor do not support 32 bit applications. The only reason 32 bit applications work on 64 bit editions of desktop Windows is because the very architecture at its core, called x86-64 (often erroneously shortened to x64), is a hybrid architecture capable of running both 32 bit and 64 bit instructions.

It's also the reason why drivers may not work in 32 bit, but applications will, on Windows Vista 64 bit. The Windows Vista 64 bit kernel is written in 64 bit, and thus, drivers must also be written in 64 bit. If Microsoft would have made the kernel in 32 bit, expanded support would have had to rely on PAE, but drivers wouldn't have had to be re-written. In fact, Apple used that strategy with Mac OS X's transition to 64 bit processors and only its future Snow Leopard will have its kernel in 64 bit.



"I also mistakenly thought a 32bit operating system could only use 4GB, having only 32 address bits to work with. But as you can see from the tables above, 32bit Windows Server 2008 can use up to 64GB of physical memory."

Note however that Windows Server 2008 32 bit uses PAE to achieve this.



"The limit for 64-bit XP is given as 128 GB, while on the support site, http://support.microsoft.com/kb/283247/en-us, it is given as 16 GB!
What is correct, 16 GB or 128 GB?"


Short answer is 128 GiB of RAM.
While Windows XP Pro 64 bit can theoretically support 128 GiB of RAM, driver issues, lack of motherboard support and PAE's Intel technical spec limit to 64 GiB can limit this. Very few 32 bit systems will be built to handle 128 GiB of RAM as the use of a 64 bit operating system becomes much more advantageous in this situation.


I have an article on my blog, Pacoup.com, but you'll have to find it yourself as I cannot link to my own articles on MSDN.

Tags What's this?: Add a tag
Flag as ContentBug
64Bit CPU/32Bit application Which operating system will provide maximum memory      fabulous Fab   |   Edit   |   Show History
I need to select an operating system for a server that runs on Xeon 64Bit (5080) platform. I have an application that needs as much memory as possible. Which operating system version setup will provide the maximum memory to this 32 bit application?
Tags What's this?: Add a tag
Flag as ContentBug
Processing
© 2009 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Page view tracker