Click to Rate and Give Feedback
MSDN
MSDN Library
System Services
Memory Management
Virtual Address Space

The virtual addresses that a process uses do not represent the actual physical location of an object in memory. Instead, the system maintains a page map for each process, which is an internal data structure used to translate virtual addresses into corresponding physical addresses. Each time a thread references an address, the system translates the virtual address to a physical address.

For more information about virtual memory, see the following topics:

32-bit Windows

The virtual address space for 32-bit Windows is typically divided into partitions as follows.

Range Usage
Low 2GB (0x00000000 through 0x7FFFFFFF) Available to the process.
High 2GB (0x80000000 through 0xFFFFFFFF) Reserved for the system.

If 4-gigabyte tuning (4GT) is enabled, the virtual address space for 32-bit Windows is divided into partitions as follows.

Range Usage
Low 3GB (0x00000000 through 0xBFFFFFFF) Available to the process.
High 1GB (0xC0000000 through 0xFFFFFFFF) Reserved for the system.

Only processes that have the IMAGE_FILE_LARGE_ADDRESS_AWARE flag set in the image header have access to memory above 2 gigabytes (GB).

To adjust the process address space, use the BCDEdit /set command to set the increaseuserva boot entry option to a value between 2048 (2 GB) and 3072 (3 GB). The system address space adjusts as needed.

Windows Server 2003:  Set the /USERVA switch in boot.ini to a value between 2048 and 3072.

64-bit Windows

For more information about virtual memory in 64-bit Windows, see Virtual Address Space in 64-bit Windows.


Send comments about this topic to Microsoft

Build date: 8/22/2008

Tags What's this?: Add a tag
Community Content   What is Community Content?
Add new content RSS  Annotations
Processing
© 2008 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Page view tracker