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
Become a Patron of Ask Leo! and go ad-free!
Right click on My Computer, click on
Properties, and in Windows Vista you’ll get a window that
includes, among other things, this information:
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
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
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.
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:
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.
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.
21 comments on “Why doesn't Windows show all 4gigabytes of memory I have installed?”
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.
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!).
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.
Very nice explanation by Leo for something I couldn’t understand. He’ll get a Latte for this.
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?
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?”
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.
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.
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.
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
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
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.
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.
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.
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.
Using windows 2008 server 64bit I can see reporting the 4gig but using windows7 64 bit it reports 3.75 available
Funny, now that I have a 1gb video card, Vista (32 bit) is showing my 4gb of RAM. I wonder why that is…
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.
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!
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?
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”
The article goes as far back as win2000 in the list:
– 32-BIT Windows 2000 Datacenter Server can address up to 32GB RAM