06-06-2007, 09:15 AM
Join Date: Jul 22 2004
Location: Brisbane, Australia
Re: [info] Windows maximum supported memory size
Dan's take on the matter http://www.dansdata.com/askdan00015.htm
basically makes all above info invalid for 4GB barrier on 32bit OS
By default, an all-64-bit PC will still have the standard big holes in its memory from three to four gigabytes. This is the lowest-hassle way to deal with the problem - just install more than 4Gb of memory, and live with the fact that your 8Gb PC with a 768Mb graphics card only actually has seven-point-not-much gigabytes of visible RAM.
One advantage of this is that you can still boot a 32-bit OS, if you want to. Another is that this vanilla configuration is most likely to actually work. Cleverer memory configurations aren't necessarily properly supported by hardware and OSes yet.
If you don't care about these factors, though, there are two ways to get the lost memory back.
Some 64-bit motherboards these days give you an option for "memory hole remapping". That moves the fourth-gigabyte MMIO memory holes higher into the 64-bit address space, probably way above the maximum RAM you can physically install.
Many other 64-bit boards, though, are even smarter, and can leave the memory holes where they are and remap (at least some of) the physical RAM out from under the holes and up past 4Gb. This process is often entertainingly referred to as "memory hoisting", and it used to be the preserve of server motherboards. It's been showing up in more and more desktop mobos, though. And on some of them, the memory-hoisting BIOS setting even works, and doesn't horribly crash the system as soon as something tries to use the remapped RAM.
You may only be able to "hoist" the last 512Mb of the 4Gb address space, but that's better than nothing. If it works.
I should add a note about the /3GB, /4GT and /PAE Windows boot.ini switches, too, because they often come up when people are talking about 4Gb-plus Windows PCs.
They are all useless to you. You do not want them.
/3GB and /4GT are config settings for different versions of Windows that tell the operating system to change the partitioning of the 4Gb 32-bit address space so that applications can use 3Gb and the OS kernel only 1Gb, as opposed to the standard 2Gb-each arrangement. They don't help at all with the 3Gb barrier, and most applications don't even notice them, so desktop users lose kernel memory space (and system performance) for no actual gain at all.
The /PAE boot.ini switch, on NT-descended Windows flavours, activates the Physical Address Extension mode that's existed in every PC CPU since the Pentium Pro. That mode cranks the address space up to 64 gigabytes (two to the power of 36), and the computer can then give a 4Gb addressing block within that space - or even more, with extra tricks - to each of several applications.
PAE's no good to the everyday 3Gb-problem-afflicted user, though, for two reasons.
First, it presents 64-bit addresses to drivers, and thus causes exactly the same compatibility problems as a proper 64-bit operating system, except worse, because now you need PAE-aware drivers for 32-bit Windows, instead of just plain 64-bit drivers for a 64-bit OS. From a normal user's point of view, PAE gives you the incompatibility of a 64-bit operating system when you're still running a 32-bit OS.
For this reason, Microsoft changed the behaviour of the /PAE option in all versions of WinXP as of Service Pack 2. They fixed the endless driver problems by, essentially, making /PAE in XP not do anything. All versions of WinXP - even the 64-bit versions - now have a hard 4Gb addressing limit, no matter what hardware you use them on and what configuration you choose.
This isn't a big problem, of course, since XP is not meant to be a server operating system. But it's still mystifying to people who try the /PAE flag and can't figure out why it doesn't work.
Oh, and just in case you for some reason still wanted to try PAE: It eats CPU time, too.
Last edited by eva2000; 09-09-2007 at 03:37 PM.