• We should now be fully online following an overnight outage. Apologies for any inconvenience, we do not expect there to be any further issues.

I have 4GB of RAM installed yet I only see 3GB...

sutahz

Golden Member
Dec 14, 2007
1,300
0
0
Text taken from http://blogs.msdn.com/hiltonl/...t-4gb-ram-problem.aspx
[as this is the most often reoccuring question in this forum, its answer should be stickied. If there is a better answer to this question, this post should be deleted or edited to show the better article. If stickied, this text should be erased]

The 3GB-not-4GB RAM problem

Problem statement:
I just bought a system with 4GB of physical RAM in it. The BIOS posts 4GB, but Windows tells me that I have anywhere from 2.75 - 3.5GB of RAM. Where is the rest of my RAM?

Summary:
If you are running 32-bit Windows, you must live with it. You will not ever see all 4GB of RAM you've paid for.

If you are running 64-bit Windows, you may have to live with it. Depending on your motherboard's chipset, your system may support memory remapping. If so, you will be able to use all 4GB of RAM.


Detailed:
Due to an architectural decision made long ago, if you have 4GB of physical RAM installed, Windows is only able to report a portion of the physical 4GB of RAM (ranges from ~2.75GB to 3.5GB depending on the devices installed, motherboard's chipset & BIOS).

This behavior is due to "memory mapped IO reservations". Those reservations overlay the physical address space and mask out those physical addresses so that they cannot be used for working memory. This is independent of the OS running on the machine.

Significant chunks of address space below 4GB (the highest address accessible via 32-bit) get reserved for use by system hardware
:

? BIOS ? including ACPI and legacy video support

? PCI bus including bridges etc.

? PCI Express support will reserve at least 256MB, up to 768MB depending on graphics card installed memory

What this means is a typical system may see between ~256MB and 1GB of address space below 4GB reserved for hardware use that the OS cannot access. Intel chipset specs are pretty good at explaining what address ranges gets reserved by default and in some cases call out that 1.5GB is always reserved and thus inaccessible to Windows.

When looking at memory in systems (be it desktop or notebook) there are three questions to ask that will tell you the maximum amount of memory your O/S will be able to use:

1. What O/S Edition have you installed?

a. 32-bit Windows is limited to a maximum of 4GB and cannot see any pages above 4GB.

b. 64-bit Windows can use between 8GB and 128GB depending on SKU.

2. What address range can your processor actually access?

a. Typically that?ll be 40-bit addressing today for x64 (Intel EM64T/AMD64), but older processors may be limited to 36-bit or even 32-bit

3. Can your system?s chipset map memory above 4GB?

a. Mobile chipsets on sale today cannot (but that may change with time)

b. Newer workstations (which use chipsets developed for single or multi-proc servers) usually can.

Windows can remap memory from below 4GB to above 4GB and use it there, however, that relies on the three points above:

1. Can Windows access memory above 4GB?

a. 32-bit ? NO

b. 64-bit ? Maybe (due to chipset limitations)

2. Can your processor access memory above 4GB?

a. If it?s recent then it might, and if it?s either AMD64 or EM64T it?s almost certain

3. Does your chipset allow pages to be remapped above 4GB?

a. Probably not ? and that?s what?s catching people who install 64-bit Vista to work around point 1 ? they find they still cannot see above 4GB

In some cases, OEMs may be able to tweak their BIOS to reserve less memory for platform use, but we?re not talking a huge difference (ie, 100?s of MBs).

In the end a 32-bit OS and/or application can only, ever, handle 4GB of memory at a time, the AWE stuff just swaps chunks of memory in and out of that 4GB space, thus fooling the application and OS into using more space than it can ?see?.

Physical Address Extension (PAE), extends the physical address space to 36-bits if your HW supports this. For most operations, the processor execution units will only see 32-bit addresses, the MMU will take care of the translation to 36bit addresses. No swapping here, only page translations (which are used regardless of PAE being on or not), this is a fundamental feature of any virtual memory operating system.

The OS and apps only see 32-bit addresses because the registers are limited to 32-bits (hence the ?32-bit? architecture nomenclature). These are linear addresses which are extended to 36-bits in the translation to physical addresses, but they never show up in registers since there?s no room. It?s all internal until the address lines coming out of the chip are toggled. Thus my comment above about ?if your H/W supports this (PAE)". I?m not going into how that works?

So, the OS can happily handle up to 64 GB of memory for 32-bit PAE-able systems.

Hope this helps explain the whole, ?Why can?t I see 4 Gig of RAM in my system?? thing?

BTW ? This does not change for Vista either?
Originally posted by: n7
In Vista SP1, x86 users will see 4 GB listed, even though they cannot fully use that much.

A poor move by Microsoft IMO, as it will have people assuming they're getting a full 4 GB till they take a look at the task manager...

references:
http://support.microsoft.com/kb/929605/en-us

HWJunkie DL (MSFT internal)

Bob Heath (original author of this summary material)
 

n7

Elite Member
Jan 4, 2004
21,281
4
81
Just something to clarify (or make things more confusing), in Vista SP1, x86 users will see 4 GB listed, even though they cannot fully use that much.

A poor move by Microsoft IMO, as it will have people assuming they're getting a full 4 GB till they take a look at the task manager...
 

AmberClad

Diamond Member
Jul 23, 2005
4,914
0
0
Originally posted by: Cheex
Nomination for sticky...:thumbsup:
I second that nomination :beer:. But on the downside, that would cause the number of new posts in this subforum to drop off rather dramatically :(...
 

sutahz

Golden Member
Dec 14, 2007
1,300
0
0
Wow... System memory and NVRAM only has 5pages of history.. but in those 5 pages this question is asked 2x.
01/25/2008 10:49 AM MaverickBP
01/13/2008 12:08 PM ZeroSignal
What prompted me to try and find a good answer was this:
Originally posted by: Scoop
Damn, I thought we were going to make it through the week without someone asking this...
 

Quiksilver

Diamond Member
Jul 3, 2005
4,725
0
71
To make that easier to read could you bold the problem, summary, detailed, and looking at memory sections. Then italicize 1. What O/S Edition have you installed?, 1. Can Windows access memory above 4GB?, 2. Can your processor access memory above 4GB?, and 3. Does your chipset allow pages to be remapped above 4GB?. And the others I might have missed.
 

integramodder

Senior member
Jun 13, 2003
410
0
0
I had two gigs, installed two more. Bios sees all 4 gigs but windows says 2.00GB.
Is this caused by the same issue or is something else wrong?

Its not in the 2.75-3.5 range.
 

sutahz

Golden Member
Dec 14, 2007
1,300
0
0
Originally posted by: integramodder
I had two gigs, installed two more. Bios sees all 4 gigs but windows says 2.00GB.
Is this caused by the same issue or is something else wrong?

Its not in the 2.75-3.5 range.
What mobo/laptop do you have? Sounds to me like your mobo's max capacity is 2GB. Strange that your BIOS see's all 4GB's though...
Whats your OS? 95/98/ME/2K/XP/Vista?
 

n7

Elite Member
Jan 4, 2004
21,281
4
81
Originally posted by: integramodder
I had two gigs, installed two more. Bios sees all 4 gigs but windows says 2.00GB.
Is this caused by the same issue or is something else wrong?

Its not in the 2.75-3.5 range.

That's caused by not having memory remapping enabled in the bios.

Look for something along those lines to fix that.
 

n7

Elite Member
Jan 4, 2004
21,281
4
81
sutahz, as i mentioned, in Windows Vista SP1 x86, you will see 4 GB of RAM reported as physically installed, even though not all of that is accessible.

Your link is way old, & while it does apply to anything pre-SP1, after SP1, 4 GB under x86 will show like this:
http://www.lenon.com/images/SP1-RC_4GB.png
Yet actual RAM accessible is still nowhere near 4 GB:
http://www.lenon.com/images/SP1(RC1)_Task_Manager.jpg
http://www.lenon.com/images/SP...System_Information.jpg

Thread which these pics are taken from, thanx to VinDSL.

Here's info on SP1, & toward the bottom it explains the change in how RAM is reported:
http://technet2.microsoft.com/...a03e1033.mspx?mfr=true

With SP1, Windows Vista will report the amount of system memory installed rather than report the amount of system memory available to the OS. Therefore 32-bit systems equipped with 4GB of RAM will report all 4GB in many places throughout the OS, such as the System Control Panel. However, this behavior is dependent on having a compatible BIOS, so not all users may notice this change.

IOW, 99% of the normal users out there will assume they've got a full 4 GB to use, which they don't.
Looking at task manager will show what's really available.
 

pallejr

Senior member
Apr 8, 2007
216
0
0
I had two gigs, installed two more. Bios sees all 4 gigs but windows says 2.00GB.
Is this caused by the same issue or is something else wrong?

Its not in the 2.75-3.5 range.

Dependig on the board/bios that might actually be casued by the remapper being enabled, if using 32-bit xp/vista
 

Modelworks

Lifer
Feb 22, 2007
16,240
7
76
Just save yourself the frustration and switch to a 64 bit OS.
Its not nearly as painful as some people think.
Lots of drivers have 64bit support now.

It does away with the worry about how the extra memory is being handled.
 

n7

Elite Member
Jan 4, 2004
21,281
4
81
Originally posted by: Modelworks
Just save yourself the frustration and switch to a 64 bit OS.
Its not nearly as painful as some people think.
Lots of drivers have 64bit support now.

It does away with the worry about how the extra memory is being handled.
He's not asking.
He meant for this thread to be an answer thread that should get stickied.
 

Sheninat0r

Senior member
Jun 8, 2007
515
1
81
You should change the title and get it stickied, people will think you're asking for help and say "OMG ANOTHER NOOBZAR!!11!" and skip the thread.
 

sutahz

Golden Member
Dec 14, 2007
1,300
0
0
I gave it that title so if someone comes onto the forum w/ that question hopefully they'll see it and say "hey, thats my question, lets see if the answer is in there"
 

Dadofamunky

Platinum Member
Jan 4, 2005
2,184
0
0
Originally posted by: Modelworks
Just save yourself the frustration and switch to a 64 bit OS.
Its not nearly as painful as some people think.
Lots of drivers have 64bit support now.

It does away with the worry about how the extra memory is being handled.

:thumbsup:

Yeah mon. What he said.