Mark
Wed Oct 31 12:59:22 PDT 2007
Excellent write-up! Thanks!
"Chuck Walbourn [MSFT]" <chuckw@online.microsoft.com> wrote in message
news:u36MNJ$GIHA.5980@TK2MSFTNGP04.phx.gbl...
> 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.
>
>