3

I upgraded my Vista computer from 2GB to 4GB of RAM.

However, upon boot up, it shows only 3.072 GB of memory.

Yet Vista says I have 4.00 GB of memory.

In addition, the computer doesn't seem "twice as fast" at all (Eclipse still takes 20 seconds to open, Vista Explorer lags and spins the hour glass just as often, etc.).

(1) Is there something I have to do to make my computer faster after it has this extra memory, and (2) is it alright that the boot up screen only seems to recognize 3 GB?

alt text

3
  • Are you running a 64 or 32 bit operating system
    – Josh Hunt
    Commented Aug 3, 2009 at 21:37
  • 32-bit operating system Commented Aug 3, 2009 at 21:44
  • 8
    Just because you double your Ram does not mean 2x the speed.
    – Troggy
    Commented Aug 3, 2009 at 22:06

6 Answers 6

8

The reason that Windows reports 4GB of RAM is because Vista is lying to you.

Remember that when Vista was released, purchasing 4GB of RAM was becoming much more cost-effective for the average user. Saying that the OS only reported 3GB of RAM when you knew your machine had 4 GB installed probably caused all kinds of support calls and support costs for Microsoft. The cheapest and simplest solution was to just change what Vista reported to the user, regardless of how much memory was addressable. My guess is that any amount of RAM greater than or equal to 3GB triggers x86 Vista reporting 4GB installed.

Vista SP1 Notable Changes

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.

1
  • Windows 7 reports the actual available RAM. If you have 4GB installed, but only 3.5GB is usable, this is reported in system information.
    – GaryJL
    Commented Aug 14, 2009 at 14:54
2

Do you maybe have an onboard graphics card that uses 1GB of system mem?

And regarding your loading times, unfortunately more RAM probably won't make much of a difference unless your system is already using it all and having to swap out virtual memory. A faster hard-drive and disk defrag might help loading times more.

The extra RAM will be more handy at not slowing down your system once you have opened up some large Photoshop docs, and have opened up loads of Firefox tabs etc.

1

Best explained by Jeff - Where's my RAM ?

2
1

I don't know why Windows would report 4Gb whereas the BIOS is reporting 3Gb - possibly a bug in the BIOS reporting since if the BIOS can really only see 3Gb than Windows should only see 3Gb - you could try updating the BIOS.

(...and see answer to this question).

Also, on a 32bit system you're only actually going from 2Gb to 3Gb of usable memory as the system can't use the 4th Gb since the memory addresses are reserved for system use - see this Dan's Data article for explanation.

You're much more likely to notice a speed increase moving from 1 to 2Gb than from 2 to 4Gb (2Gb is pretty much plenty for a Celeron system). If you're on Vista or Windows 7, have a look at the System Rating (Windows Experience Index) to see where the bottleneck lies - I suspect it will be the processor rather than the RAM.

1
  • Minor nitpick, my 32-bit vista install with 4GB of memory installed has 3.25GB usable. (3,406,016 total physical memory as reported by Process Explorer).
    – davr
    Commented Sep 28, 2009 at 23:25
0

There is a 3GB ram address space limit in 32bit operating systems. The last GB is used for other uses on the system. The way this was displayed was changed in Vista and "fixed" in SP1.

If you want more than 3GB, you need to use a 64bit version of windows.

There are more details here http://www.dansdata.com/askdan00015.htm and this microsoft support KB article

If you are running Windows Vista or if you have upgraded Windows XP to Windows XP Service Pack 2 (SP2) or a later version, the memory that is reported in the System Properties dialog box or by the System Information tool (Msinfo32.exe) has changed. This symptom occurs if the following conditions are true: - The computer has 4 or more gigabytes (GB) of RAM. - The computer is using Physical Address Extension (PAE) mode.

For example, before you upgrade to Windows XP SP2, the System Properties dialog box may report approximately 3.87 GB of RAM.

The System Information tool may report that the total physical memory is approximately 3,540.00 megabytes (MB). After you upgrade to Windows XP SP2, the System Properties dialog box may report approximately 3.12 GB of RAM, and the System Information tool may report that the total physical memory is approximately 2,770.00 MB.

This issue occurs because of a design change in Windows XP SP2 that is also included in Windows Vista. The changes were made to PAE mode behavior to improve driver compatibility.

To reduce driver compatibility issues, Windows Vista and Windows XP Service Pack 2 or a later version include hardware abstraction layer (HAL) changes that mimic the 32-bit HAL DMA behavior. The modified HAL grants unlimited map registers when the computer is running in PAE mode.

Additionally, the kernel memory manager ignores any physical address that is more than 4 GB. Any system RAM that is more than the 4 GB barrier would be made unaddressable by Windows and be unusable in the system. By limiting the address space to 4 GB, devices with 32-bit DMA bus master capability will not see a transaction with an address that is more than the 4 GB barrier. Because these changes remove the need to double-buffer the transactions, they avoid a class of bugs in some drivers that is related to the correct implementation of double buffering support.

Also application launch times are more about disk IO speed than the amount of RAM you have, hence why eclipse is no faster to load.

0

The reason for the discrepancy is as mentioned above how Vista reports memory size.

The solution however when running a 64-bit OS is to enable a BIOS feature called memory remap. This is by default disabled in the BIOS because it breaks compatibility with 32-bit OS:s.

What the feature does is that instead of mapping your gfx card/io cards and such below the 4GB boundry it moves everything above the 4GB boundry. The result is that it does not steal the address space and you can therefore use all 4GB of memory. It will also report the correct size at the BIOS screen.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .