Why does 4GB RAM only show as 3GB?

K

Ken Blake, MVP

I know that when using 32-bit Vista you can't expect to see all 4GB of
installed RAM but I was under the impression that you should see between 3.1
and 3.5GB. My new Dell Precision laptop has 4GB RAM but only shows exactly
3GB. The BIOS reports 4GB.

Is this unusual or indicative of a problem?


No, it's normal. There's no 3.1-3.5GB range.

All 32-bit versions of Windows (not just Vista) have a 4GB address
space. That's the theoretical upper limit beyond which you can not go.
But you can't use the entire 4GB of address space. Even though you
have a 4GB address space, you can only use *around* 3.1GB of RAM.
That's because some of that space is used by hardware and not
available to the operating system and applications. The amount you can
use varies, depending on what hardware you have installed, but is
usually around 3.1GB. 3.0GB is slightly on the low side, but it's not
indicative of any sort of problem.

Note that the hardware is using the address *space*, not the actual
RAM itself. The rest of the RAM goes unused because there is no
address space to map it too.
 
L

Little Billy

Qu0ll said:
I know that when using 32-bit Vista you can't expect to see all 4GB of
installed RAM but I was under the impression that you should see between
3.1 and 3.5GB. My new Dell Precision laptop has 4GB RAM but only shows
exactly 3GB. The BIOS reports 4GB.

Is this unusual or indicative of a problem?

See if Dell has a patch, sometimes under properties it displays wrong. My
Sony was displaying the wrong processor which was fixed with the patch.
 
C

Chuck

In essence, yes, due to 32bit address space limitations and hardware. Rom
address space and many video cards/chipsets use RAM memory also, limiting
the amount of RAM available for general system & application use.

There are hardware methods that can utilize much greater amounts of RAM
memory for specific tasks, but these are not really implemented in either
32bit windows or most "IBM compatibles".

It's kind of amusing that Apple and HP implemented schemes that allowed
memory "pages" to be switched in and out of processor address space over
twenty years ago. (Apple II+, and HP Mini/Micro technical computers)

In the 1970's, HP used a scheme that allowed almost infinite memory to be
used by mapping memory segments in and out of the processors address space
on a memory "page" basis. The hardware support was based upon extensible
instructions that allowed the use of multiple words to describe a specific
memory location, with one bit in each word used as a flag, and if memory
serves, other bits pointing to the next memory location that contained
another part of the memory address. This might go on for several memory
locations to complete the address location information. Another trick of
HP's was to have internal and external instructions. The external machine
language instruction might be 16bits, and point to an internal instruction
of 24 bits. The internal instruction might also call a ROM routine.
 
B

+Bob+

It's kind of amusing that Apple and HP implemented schemes that allowed
memory "pages" to be switched in and out of processor address space over
twenty years ago. (Apple II+, and HP Mini/Micro technical computers)

In the 1970's, HP used a scheme that allowed almost infinite memory to be
used by mapping memory segments in and out of the processors address space
on a memory "page" basis.

Most all computers with REAL operating systems did this. In addition,
they provided us with the ability to tune paging to maximize system
performance. MS-Windows swaps, it just does a very lousy job of it.
 
M

me

You've got it.

I have a related question.
I have a Compaq laptop with 2 gig of memory running Vista 32 bit. The
on-board video uses 256 meg of system memory. The laptop supports 4
gig of memory. Would the video use part of the 3 gig Vista uses or
would it use the 1 gig Vista doesn't use.
 
T

Tim Slattery

me said:
I have a related question.
I have a Compaq laptop with 2 gig of memory running Vista 32 bit. The
on-board video uses 256 meg of system memory. The laptop supports 4
gig of memory. Would the video use part of the 3 gig Vista uses or
would it use the 1 gig Vista doesn't use.

I assume you're talking about putting an extra 1GB into the computer
so that it now has 3GB. 32-bit Win Vista (and 32-bit XP and your
hardware) has a 4GB address space. It will assign addresses first to
your video RAM, BIOS and some other things. What's left over can be
used to access system RAM. Nearly always the amount of address space
that is preallocated in this way is less than 1GB, so you would be
able to use all 3GB of the RAM you installed.
 
M

Mike Torello

me said:
I have a related question.
I have a Compaq laptop with 2 gig of memory running Vista 32 bit. The
on-board video uses 256 meg of system memory. The laptop supports 4
gig of memory. Would the video use part of the 3 gig Vista uses or
would it use the 1 gig Vista doesn't use.

Yes, the video would use part of the 3Gb of memory, just as it now
uses part of the 2Gb of memory.

Your system would "see" all 3Gb.
 
P

Poutnik

Most all computers with REAL operating systems did this. In addition,
they provided us with the ability to tune paging to maximize system
performance. MS-Windows swaps, it just does a very lousy job of it.

Do not mess physical address size, related to disk swapping,
and CPU address space, related to mapping memory in a out of it.

Swap files, or Linux swap partitions are pretty well sitting within CPU
address space.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top