I know I'm mistaking when it comes to XP Home, but Pro/CE versions are 
different creatures, as you already know.

As Mr. Phiber correctly pointed out, no process can use more than 3GB RAM. (Hence the urban legend about XP/Vista not supporting more than 3GB RAM, which btw is almost true with the Home edition, which we all, of course, try to avoid :)

3GB/process is plenty when using an AV system, as separate processes often are 
executed at the same time, using different processors, sometimes by direct 
allocation.

What's NUMA? (never heard of it, or I don't remember - I'll look it up)

Most apps for professional audio recording make use of the AWE API. I'm not sure about professional image rendering progs, but the two systems I've built for this purpose make plenty use of the 32GB installed. And this happens with a default installation of the OS (XP CE).

To my knowledge, the PAE boot switch is only used if one wants to allocate more 
than 3GB RAM to the OS.

Thanks for the link, but I don't trust the MS sites about RAM and OS's 
anymore...

Soren

Greg Sevart wrote:
I'm still quite confident that you're mistaken. Client Microsoft operating
systems and Server SKUs less than Enterprise simply will not use any more
than 4GB. They're technically capable of leveraging PAE to extend memory
usage, but they don't. They will use PAE to support DEP (and NUMA,
apparently), but that's it. Windows 7 and fully patched versions of Vista
will, however, _report_ all installed system memory, but it will not use one
byte more than 4GB. I'd be happy to eat my words if you can point out a
Microsoft-published document that definitively indicates that I'm incorrect,
but I don't believe that is the case.

This document also outlines memory limits of 32-bit Windows versions that is
marked current as of May 2010:
http://support.microsoft.com/kb/2267427

Even if I am somehow mistaken and it is somehow possible to use PAE to use
more than 4GB of memory under a MS Client OS edition, that still doesn't
change the fact that each 32-bit process still has a maximum of a 4GB VAS.
PAE and 4GT ("/3GB switch") don't change that. The application must then use
AWE (Address Windowing Extensions) to make use of any memory beyond
that--and the list of apps that use the AWE API is very small. The only one
that I know of offhand that does is Microsoft SQL Server.

Greg

-----Original Message-----
From: hardware-boun...@hardwaregroup.com [mailto:hardware-
boun...@hardwaregroup.com] On Behalf Of Soren
Sent: Tuesday, August 03, 2010 2:54 PM
To: hardware@hardwaregroup.com
Subject: Re: [H] new system build suggestions or upgrade

Heh... nice writeup, Greg, but not completely updated, if I humbly may say
so.

If one look at the MS support sites about this question, one will get as
many
different and contradicting explanations on the subject, as there are
support
numbers (Qxyz). Beats the crap out of most techs that I know.

However, I have built a large number of AV systems, and quite a number of
those are with more than 4GB RAM, even up to 32GB. They all use the
installed RAM without any problems, so I guess that at least *some* of
MS's
support sites are right, when some obviously aren't.

There is no "trickery" because the processor is not limited to 32 bits of
physical address in PAE mode. PAE mode adds a third level of page table
lookup and changes the page table entries (PTEs) from 4 bytes wide to 8
bytes wide. This gives more room for bits of physical page address, or
"page
frame number." In the first CPUs to implement PAE only four more bits were
implemented, for a total of 24, or 36 bits of physical address. Thereby
allowing 64 GB of ram to be directly addressed. No "trickery" is involved.
It's
the same address translation the MMU has been doing all along; the format
of the lookup tables (page tables) is just changed.

As you may see, this is not as much an O/S question, as it's a CPU
question.
Nowadays, no problems when using a high grade processor.

This site pretty much nails it:

geoffchappell.com/notes/toc.htm

BTW, one of the finer benefits from using a large amount of RAM, is that
the
swap file can be allocated to RAM, which makes makes the system very
responsive. This allocation usually takes place from top>down, depending
on
the method used (separate proggie, or just a .reg file).

./

Greg Sevart wrote:
Umm....not quite.

While it is technically possible to use more than 4GB of memory on a
32-bit OS with PAE, Microsoft client operating systems will NOT use
it. Even the Standard SKUs of their Server operating systems will not
use PAE--Enterprise or Datacenter is required. (This actually gets
even more convoluted--these OS editions DO use PAE to implement
NoExecute memory protection, but will not actually use more than 4GB).

Furthermore, I think you're confusing user mode memory ("apps") with
kernel memory ("O/S"). By default, 32-bit versions of Windows XP with
4GB or more memory installed will split the 4GB into 2GB of user space
and 2GB of kernel space. The kernel space is reserved for just
that--the Windows kernel, kernel mode drivers, etc. You can use the
/3GB switch (4GT) to move this 2/2 split into a 3/1 user/kernel split.
Absolutely anything over 4GB is not used, and that's true for 32-bit
versions of Windows XP, Windows Vista, or Windows 7.

You may lose some of the 4GB address space for memory mapped devices,
such as video cards and other devices. This is why you will frequently
see a 32-bit system with 4GB of memory only report 2.8-3.8GB. There's
no requirement that these devices be mapped to actual memory, just
that they have memory address space--so 64-bit systems with chipsets
that support it will remap actual installed RAM around the mapped
devices. This means that on supported systems and 64-bit OS editions,
you don't lose any memory to memory-mapped hardware devices.

In short: If you're running 32-bit versions of Windows XP, Windows
Vista, Windows 7, or Windows Server 2003/2008 Standard Edition, 4GB is
your limit, and some of that will always be reserved for hardware and
kernel space.
Period.
If you're running 64-bit versions of the above, your limit essentially
depends on whatever MS has licensed for that OS edition. As examples,
Windows 7 Home Premium is 16GB, Professional is 192GB. Windows Server
2008
R2 Enterprise is 2TB. More detail, and the limits for all Windows OS
editions from 2000 to 7/2008 R2, can be found here:
http://msdn.microsoft.com/en-us/library/aa366778(VS.85).aspx

Greg

-----Original Message-----
From: hardware-boun...@hardwaregroup.com [mailto:hardware-
boun...@hardwaregroup.com] On Behalf Of Soren
Sent: Monday, August 02, 2010 8:51 PM
To: hardware@hardwaregroup.com
Subject: Re: [H] new system build suggestions or upgrade

Sorry, not entirely true. There seem to be a common misunderstanding
about the O/S allocation of RAM.

E.g. WinXP can only allocate 3GB RAM for the O/S, which is often
enterpreted as the whole system can only make use of 3GB RAM in total.

Actually, XP can only use 3GB RAM for the O/S, any remaining RAM is
kindly allocated to applications with a max of 32/64GB for 32/64bit
versions of
the
non-server O/S.
The rest is plain BS. XP typically uses less than 200MB, btw.

The 4GB story is coming from the first release of Vista not reporting
the correct amount of installed RAM (e.g. 4GB or 8GB showed up as
3GB), which, quite understandable, lead to a great deal of confusion
among guys like
us.
Both Vista32 and W732 run smoothly on +8GB RAM, same with XP.

The 64bit thing is driven by the market.

Someone wrote:
If you need 4G or more RAM then you're going to need 64 bit





Reply via email to