Helping people with computers... one answer at a time.

Installing the maximum 4 gigabytes of RAM into your computer may not result in all 4 gigabytes being available. We'll look at why.

Could you do a short piece explaining the RAM limitation in 32-bit Vista? Since I was given some memory by a friend, I've got 4 MB installed on my new HP computer with Vista Home Premium. However, my computer's System Properties only reports 3.25 MB of "Total Physical Memory" available. What is the reason for this? Is there any way to access or use the lost 0.75 MB in any way? I know some folks who are a little upset about this, especially since they were offered 4 MB of RAM, and paid for that much RAM, when they purchased their machines with 32-bit Vista installed!

You've just described my laptop. My brand new Dell last year, with Windows Vista Business edition, has 4gigabytes of RAM installed.

And yet, Windows reports only 3326 Megabytes of RAM are being used.

Let's look at why that is and what it might take to actually use all 4gig.

Right click on My Computer, click on Properties, and in Windows Vista you'll get a window that includes, among other things, this information:

My Computer - Properties, showing the amount of memory installed

That's a snapshot taken from my laptop. The laptop with 4 gigabytes of RAM installed but showing only 3326 Megabytes of RAM available.

That window also includes another important clue: "32-bit Operating System". Ultimately therein lies the dilemma.

(A quick over-simplification and aside for some: a "bit" is simply a single digit that can contain either a 0 or a 1. Thus when we talk about a "32 bit" operating system or processor, we're talking about systems that operate natively on 32 bits at a time.)

If you look at all possible arrangements of a collection of 32 1's and 0's, you'll find that there are 4,294,967,296 possible combinations. 4 Giga-combinations.

Computer memory is arrange in bytes, so when you order 4 gigabytes of RAM, you're actually getting 4,294,967,296 bytes of memory. And yes, each byte of memory is assigned it's own unique number or "address" - that's how the processor tells the memory hardware which bytes of RAM it wants to operate on.

All's well and good, and you would expect that while a 32 bit operating system would be able to address at most 4 gigabytes of RAM, it seems like it should be able to address all 4 gigabytes of RAM.

"There is one solution, but you probably won't like it. At least not yet."

Unfortunately, not so.

Enter the concept of "memory mapped" hardware.

The best, and often the largest example, will be your video card. It typically includes video memory of its own. That memory is "mapped into" or made visible within your PC's 4 gigabyte address space. Say I have a 512 megabyte video card, the memory layout might look something like this:

Visual representation of 4 gigabyte address space with 512 meg video card overlay

What you'll notice is that since the video card must place its 512Meg video memory somewhere into the 4 gigabyte address range that your computer can access, it "gets in the way of" 512Meg of your system RAM. That 512Meg of system RAM becomes inaccessible.

Windows works very hard to minimize the impact, and on any system that has less than 4Gig of RAM you'd never notice, since Windows will make sure to put the video and other memory mapped hardware in places that don't conflict with physical RAM. But as soon as you put in 4Gig of RAM that's the maximum a 32 bit system can address and as a result there's no place the memory mapped hardware can hide. It will have to obscure some of that RAM.

There is one solution, but you probably won't like it. At least not yet.

64bit Windows.

There's a very good chance you actually have a 64 bit processor in your newer machine. The free Securable utility from grc.com will tell you. If you do, you could switch to the 64 bit version of Windows Vista. By switching the processor to use a 64 bit architecture, the maximum amount of addressable memory changes from 4 gigabytes to 17,179,869,184 gigabytes - plenty of room to find a spare 512Meg for some video memory and still leave all the installed RAM visible.

Why won't you like it? Mostly because not all hardware is supported yet. For example you might not be able to find drivers for your video card or some of the other hardware or accessories installed on your computer. This is something that'll get better over time as more manufacturer's release 64 bit drivers, but as I write this it's not really there yet for the average computer user.

Article C3259 - January 8, 2008 « »

Share this article with your friends:

Share this article on Facebook Tweet this article Email a link to this article
Leo Leo A. Notenboom has been playing with computers since he was required to take a programming class in 1976. An 18 year career as a programmer at Microsoft soon followed. After "retiring" in 2001, Leo started Ask Leo! in 2003 as a place for answers to common computer and technical questions. More about Leo.

Not what you needed?

21 Comments
Daniel Cote
January 11, 2008 6:50 PM

Thanks Leo,

This has been driving me nuts for the past 8 months.

Now I find that when I run the GRC utility that Hardware Virtualization is "Locked On"

When I click on that, it tells me:

"This processor's advanced hardware support for virtualization has been enabled and "locked on" to prevent virtual machine penetration compromise. This was probably done by your system's BIOS or by whatever desktop virtual machine system you are using, if any. But if neither are the case you may wish to determine what has done this since it could be a sign of an advanced root kit compromise"

ARRGGH! Now something else to worry about.

stephen velasco
January 12, 2008 12:04 AM

try reading your motherboards manual. some motherboards (like mine) asus p5s-mxse, would accept up to 4gig of memory but will show only 3gig(yes! this is much worst!).

natasha8384
January 16, 2008 3:34 PM

If your Vista shows 3326 MB RAM, then everything's fine -- all 4 GB are recognized by the system, but as Leo explained, only 3326 MB are available to the OS.

Now, in the (upcoming) SP1 this information is changed and if you have 4GB of RAM than Vista will show 4GB of RAM regardless of how much of it is available to the OS. I think this "old fashioned" representation of physical RAM makes people more comfy. I just tested the SP1 Release Candidate that's available to public, and indeed the system reports the actual amount of physical RAM -- instead of 3326 MB, it says 4 GB.

Arthur
January 16, 2008 4:34 PM

Very nice explanation by Leo for something I couldn't understand. He'll get a Latte for this.

Cecil Cooper
January 18, 2008 10:50 AM

Mines worse!!!!

I have a Gigabyte MA-790FX-DQ6 motherboard with a Phenom CPU. I have 8GB of A-Data (2GB each). My board will accept up to 16GB.

At boot up it shows all 8GB, but when I get into WinXP all the shows is 4GB.

Any help here?

Sam W.
January 22, 2008 10:03 AM

So I'm still a bit hazy on something: Is that last bit of RAM still being used somehow (but just now showing up?) or is it "wasted?"

Glen
January 22, 2008 11:47 AM

Yes it is being used, for example, if you have a video card with 512MB of memory and 4GB of RAM, a 32bit operating system can only address 4GB when technically you have 4.5GB when you include the memory from the video card.

Alex
March 11, 2008 10:12 PM

wow this is a big big help thanks a lot everybody and Leo.. I went CRAZY been going back and forth to the computer store to return the stuff .. the first ram was truly defective because my computer wouldn't start at all..so i went to exchanged it, got a new Ram and installed it just to find out the computer not using it fully "3326" then i wasted the next 30 minutes just to switch the ram randomly ..once again thanks everybody now i can finally feel like i actually bought my Ram.

Rashed
March 13, 2008 12:17 PM

guyz i am facing a weired prob.

i just installed 4 gb ddr2 ram in my gigabyte ga-945gcmx s2 mobo with intel core 2 duo. but my bios shows 3.25 gb ram ( 340.... bytes). and obviously win xp shows 3.25 gb ram.

then i installed win xp 64 bit pro and it shud show 4 gb ram as its 64 bit os but it also shows 3.25 gb of ram. then i thought ok as bios finds 3.25 gb ram then my mobo must be faulty.

then i logged in my mac leopard os ( i am trying it in my pc as i will be buying a mac air in few days). mac leopard is a 64 bit os. surprisingly mac leopard shows full 4 GB of ram!!!!!!!!!!!!

then i tried everest and cpuz (3rd party softwares which shows system specs). all of these softwares shows 4 Gb of ram.

so though bios is showing 3.25 of ram actually the mobo gets the 4 gb ram. but i still cant find why win xp 64 bit cant find the 4 gb ram.

Jimmy
April 28, 2008 9:37 PM

Hi, i have simular prob's. i installed 4 gb of dual ddr2 mem into my pc and only 3 gb show up in properties under right click comp. you said previously that was worse..?? what could be wrong or please explain why it is worse. thanks

James M. Anderson
April 29, 2008 1:47 PM

I read your explanation of seeing - or not seeing all 4 GB of RAM, but one thing I don't understand: You said that if I have, say, 3 GB, Microsoft "hides" the amount of RAM needed for the video card somewhere in the 3 GB, but if I have 4 GB, it cannot hide the amount used in video. I don't understand that at all. It sounds backwards, so it is obvious that I am not understanding what you meant. Can you re-phrase that somehow, so that I can understand it?

Thanks, Jim Anderson

Richard Salvaty
June 23, 2008 7:37 AM

James,

What he is saying is that if you had 3gigs and lets say you have a 512 meg video card you should see something along these lines for available memory 3584 mega bytes. Thats your 3 gigs the OS sees PLUS the memory from your video card. With 4 gigs, that is ALL that the OS will see, period. So you will lose functinality of 512 megs of your System Ram, because the OS will see the 512 megs of your video memory. Thats just the way the 32 bit systems is designed. When they made XP no one really had thoughts of more then 4 gigs of RAM then. I hope this helps clarify it for you.

Kasper
June 25, 2008 8:04 AM

natasha8384 - That is partly correct. SP1 will report the amount of system ram currently in the machine, but it will not use it since that is impossible os a 32bit unless you enable the various switches.

That means it is a cosmetical change more than anything. But I suppose it confuses people so likely it's for the better.

Russell Knudson
July 9, 2008 8:53 AM

I have a brand new 32 bit system with 4 GB ram, and a pair of 1G graphics cards.

Windows only shows 1.7G of physical memeory, and in fact when I exceeded that amount (which is very easy with vista running) it slowed down terribly. What's going on here? This is a bit different from the rest of the thread.

UWS_C!@
July 22, 2008 9:07 PM

Google works great...
32bit OS 4GB limit...
Video Memory is part of that limit.
4GB + 2 x 1GB Video = 6GB Total.
6GB Total - 4GB Addressable - 20% System use = 1.6 Available.

Carlos
June 10, 2009 12:18 PM

Using windows 2008 server 64bit I can see reporting the 4gig but using windows7 64 bit it reports 3.75 available

Ted Pendlebury
October 20, 2009 5:48 AM

Funny, now that I have a 1gb video card, Vista (32 bit) is showing my 4gb of RAM. I wonder why that is...

James Mamakos
January 8, 2010 5:05 PM

So, if I've understood all this correctly, if I were to use more than 4Gb RAM (8Gb intended size) along with two 1Gb Video Cards, would I have to get a 64Bit OS?

I'm going to be getting a relatively high-powered PC (possibly custom built) running Windows 7 soon, and I'm just considering my options.

If you want to use more than 4GB, you need a 64bit OS, yes.
Leo
09-Jan-2010

Chris Orme
January 19, 2010 2:52 PM

I upgraded my Toshiba from 2mb to 4mb, but windows XP reported only 2.7mb (3mb-graphics). The supplier told me this is a windows xp "qwerk" it can only recognise 3mb when using 32bit.
I upgraded to windows 7 (still 32bit) and it still reports only 2.7mb.
To see more than 3mb you need 64bit!

oli
March 25, 2010 9:55 AM

Maximum Memory Capacity: 2048MB
Currently Installed Memory: 1.5GB
Available Memory Slots: 0
Total Memory Slots: 2
Dual Channel Support: No
CPU Manufacturer: AuthenticAMD
CPU Family: AMD Athlon(tm) 64 Processor 3000+ Model 12, Stepping 2
CPU Speed: 1999 MHz


can i get windows 64 bit?

Sure, but with only 2GB max memory, I'm not sure there's a point.
Leo
26-Mar-2010

Just Me
January 21, 2011 12:40 PM

less than 4GB is actually a programmed limitation in the Home / Pro Workstation Versions
as the 32-bit Server versions can address much more than 4GB

see the following MSDN page:
"Memory Limits for Windows Releases"
http://msdn.microsoft.com/en-us/library/aa366778%28v=vs.85%29.aspx

The article goes as far back as win2000 in the list:
- 32-BIT Windows 2000 Datacenter Server can address up to 32GB RAM

Comments on this entry are closed.

If you have a question, start by using the search box up at the top of the page - there's a very good chance that your question has already been answered on Ask Leo!.

If you don't find your answer, head out to http://askleo.com/ask to ask your question.