Re: Maxium Program Size in 64-bit Vista?
Because Windows is a virtual memory OS, the process limit is based on
virtual address space, not physical RAM. The physical RAM limits are tied to
the OS itself.
32-bit versions of Windows XP and Vista are limited to 4 GB of physical RAM,
although most motherboards & BIOSes don't really expose the full 4 GB. The
best I've seen is 3.25 GB physical RAM visible with 4 GB installed. 64-bit
versions of Windows XP and Vista support more, and it depends on the exact
SKU as to how much, but ranges from 4 GB to 128 GB or more.
A standard 32-bit process can address up to 2 GB of virtual address space.
Typically this means at most 2 GB of physical RAM, although a fair bit less
due the fact that virtual address space is used for things other than just
memory allocations by the application.
A Large Address Aware 32-bit process can get up to 2 GB, 3 GB, or 4 GB of
virtual address space depending on the OS and configuration it is running
on. On 32-bit Windows, such applications can only get 2GB unless the system
has been booted with a special boot option. At most such a special boot
option can give the process up to 3 GB, although this limits the OS to 1 GB
which can cause stability problems. On 64-bit Windows, a Large Address Aware
32-bit application can get up to 4 GB without any special boot options.
A 64-bit native process running on a 64-bit OS can address up to 8 TB of
virtual address space in current implementations. Future hardware can extend
support from the current 44 address lines up to 64 over time.
I did a presentation for our GameFest event on the issue of VA space and
memory you might find useful:
http://download.microsoft.com/download/e/3/c/e3c25fea-2b53-4174-8729-29a4ec16583b/Why%20Your%20Windows%20Game%20Won't%20Run%20In%202,147,352,576%20Bytes.zip
There are also specialized 'windowed' extensions you can use to address more
physical RAM from a 32-bit process within the 2 GB virtual address space,
but using them can be tricky.
--
Chuck Walbourn
SDE, XNA Developer Connection
This posting is provided "AS IS" with no warranties, and confers no rights.
"David F" <dfumento@ATDomaingmail.com> wrote in message
news:unpdFB9GIHA.1164@TK2MSFTNGP02.phx.gbl...
> My understanding is that the maximum program size under Vista 32 is 2 GB
> (is that RAM or RAM and virtual memory?).
>
> 1. What is maximum *physical addressable RAM* for a single 32-bit
> processes?
> 2. What is maximum *virtual address space* for a single 32-bit processes?
> 3. What is maximum *physical adressable RAM* for a single 64-bit process
> in Vista Business 64?
> 4. What is the maximum virtual address space for a single 64-bit process
> in Vista Business 64?
> TIA.