Sign in with
Sign up | Sign in
Your question

X86 x64 32bit 64bit 3GB memory 4GB memory OH MY

Last response: in Memory
Share
April 18, 2009 4:29:51 PM

I enjoy reading the rather amusing posts about the misconception of "Windows" only being able to see "3.21" GB of memory. You one of the people that believe that to be true? Read below.

Those that do know what they are talking about... please correct anything that I have wrong and I will edit my post.

I think microsoft confused everyone with that patch that allowed the x86 version of Vista to "see" 4GB of memory installed.

So basically x86 (32bit) operating systems... all varieties (windows, every version of linux, OSX, etc...) can only see 4GB of TOTAL memory (read... BY DEFAULT). This includes memory modules on your motherboard for various things such as sound and whatnot, this also includes your video card memory. SO... if you have a 32bit operating system and a 512MB video card, with 4GB of RAM, then you will only see about 3.3 or so GB of memory available to your operating system.

4096-512=3584 or 3.5GB (minus some overhead for sound and other memory built in)

Conversly if you have 2GB of memory installed with a 512MB video card, your operating system will still only see 2GB of memory, in otherwords the 4GB limit applies to all types of nonvolitile memory in your system combined, but available "RAM" (if below the 4GB limit) will be your installed memory modules only and not include the memory on discrete video cards and sound etc...

Now that's not all for x86 based systems though, you can stray away from the default configuration and "force" an x86 operating system to ues more than 4GB of memory, this is popular in the MS server 2003 world and I think the newer versions of ubuntu and kubuntu are "patched" that way out of the box.

x64 based systems (read 64bit) have a limit. let me see if i can find it.

http://msdn.microsoft.com/en-us/library/aa366778.aspx

Well, according to Microsoft... Vista home basic as a 8GB limit, home premium 16GB, and ultimate, enterprise, and business have a 128GB limit. Keep in mind that in addition to microsofts limitation, linux will have something similar but more importantly is the limitation of your motherboard, and yes your CPU...

quoted from wikipedia... http://en.wikipedia.org/wiki/64-bit

"Most 64-bit microprocessors on the market today have an artificial limit on the amount of memory they can address, because physical constraints make it impossible to support the full 16.8 million terabyte capacity. For example, the AMD Athlon X2 has a 40-bit address bus and recognizes only 48 bits of the 64-bit virtual address[1]. The newer Barcelona X4 supports a 48-bit physical address and 48 bits of the 64-bit virtual address."

Confused? Ask away
a b } Memory
April 18, 2009 4:52:36 PM

That's good information for all the people who wondered about this very thing.
Now, anyone want to place bets on how long it will be before the first post shows up "Windows only seeing 3.25 gig of memory, why?"
And then someone answer "Well I have Vista 32 and my PC is using all 4 gig of my memory, it says so"

It's like beating a dead horse, no one searches for the tons of good information in these forums anymore, they just login and start posting away with same questions, over and over and over and over and over and over and over and over....well you get my point.
April 19, 2009 5:04:55 AM

32-bit OSes

Windows XP SP1 with PAE enabled will enable you to see and use 4GB of RAM if you have the hardware to support it. As for XP SP2/3, Vista and Windows 7, you are limited by the OS to less than 4GB of RAM. This limitation can be seen by changing 2 bytes in the kernel to allow more than 4GB of address space and consequently be able to use all 4GB of RAM, if you have the supporting hardware. By changing a further 2 bytes in the kernel upto 64GB of RAM can be available for use.

Quite a few of the desktop linux distro's now come with a default PAE kernel and support use of upto 64GB of RAM, dependant on supporting hardware.

Related resources
April 19, 2009 7:29:51 PM

That's an excellent point. I knew that the process was there but wasn't sure what that process was as far as going above 4GB in x86 OS's. We use the /PAE at work to let x86 servers (specifically HP piles of junk) to see all 4GB installed and we do that along with the /3GB on the mail servers just for performance reasons.
April 20, 2009 6:32:28 AM

boonality said:
Conversly if you have 2GB of memory installed with a 512MB video card, your operating system will still only see 2GB of memory, in otherwords the 4GB limit applies to all types of nonvolitile memory in your system combined, but available "RAM" (if below the 4GB limit) will be your installed memory modules only and not include the memory on discrete video cards and sound etc...


You would see less than 2GB of RAM if you have a 2GB video card.
a b } Memory
April 20, 2009 11:08:11 AM

theAnimal said:
You would see less than 2GB of RAM if you have a 2GB video card.



Incorrect: If you have 2GB of RAM, and install a 2GB Video Card your OS should still see all of your memory. Not all video ram is memory mapped.



Quote:
Now that's not all for x86 based systems though, you can stray away from the default configuration and "force" an x86 operating system to ues more than 4GB of memory, this is popular in the MS server 2003 world and I think the newer versions of ubuntu and kubuntu are "patched" that way out of the box.



PAE is only enabled in consumer versions of Windows ion order to support DEP (Data Execution Prevention), which stops certain types of worms and trojans from running. It is *NOT* enabled for the purposes of expanding address space.
!