Vista x86 Maximum RAM - 4GB?


Recommended Posts

Read that Vista x86 support site that it supports 4GB of RAM - which is the limit of the x86 platform.

Yet on my Core 2 Duo running on an Intel DG965 board the detected RAM in Vista is 3.2GB :huh: Installing Vista x64 reports full 4GB RAM in Vista. :| Why would Vista x86 that supposedly supports 4GB of RAM only report 3.2GB?

Link to comment
Share on other sites

I can't remember exactly, but there is whole memory maping thingy... and something about pci...

If you want a system supports upto 4 gig or more, get 64bit.

Link to comment
Share on other sites

Shared video memory?

Good point. I am using the onboard video until I get a nice new ATI "R600" or NVidia 8800 in late Feb / March.

But then again Vista x64 reports 4GB of RAM and I still use shared video memory then too. :/

' date='Dec 30 2006, 11:01' post='588177862']

Make sure your BIOS has DEP enabled

and just use the /PAE switch in the boot parameters.

Thanks (Y) will check the BIOS for DEP and make sure boot parameters are set as you say, to /PAE when I reinstall Vista x86 later tonight.

Link to comment
Share on other sites

Read that Vista x86 support site that it supports 4GB of RAM - which is the limit of the x86 platform.

Yet on my Core 2 Duo running on an Intel DG965 board the detected RAM in Vista is 3.2GB :huh: Installing Vista x64 reports full 4GB RAM in Vista. :| Why would Vista x86 that supposedly supports 4GB of RAM only report 3.2GB?

I am running Vista x86 and have 4gb in my rig and only see 2gb available. You have more available then me chap. You lucky....

Link to comment
Share on other sites

The page file is VIRTUAL RAM, it does not take away from your system RAM at all. DEP has absolutely nothing to do with it and shared video RAM won't be consuming 800MB.

The reason is a limit of 32 bit architecture. For some in-depth info, check this document:

link

Microsoft Windows XP Professional, designed as a 32-bit OS, supports an address range of up to 4 GB for virtual memory addresses and up to 4 GB for physical memory addresses. Because the physical memory addresses are sub-divided to manage both the computer’s PCI memory address range (also known as MMIO) and RAM, the amount of available RAM is always less than 4 GB.

The PCI memory addresses starting down from 4 GB are used for things like the BIOS, IO cards, networking, PCI hubs, bus bridges, PCI-Express, and video/graphics cards. The BIOS takes up about 512 KB starting from the very top address. Then each of the other items mentioned are allocated address ranges below the BIOS range. The largest block of addresses is allocated for today’s high performance graphics cards which need addresses for at least the amount of memory on the graphics card. The net result is that a high performance x86-based computer may allocate 512 MB to more than 1 GB for the PCI memory address range before any RAM (physical user memory) addresses are allocated.

RAM starts from address 0. The BIOS allocates RAM from 0 up to the bottom of the PCI memory addresses mentioned above, typically limiting available RAM to between 3 GB and 3.4 GB.

In other words, with a 32-bit OS there really isn't that much you can do about it.

Link to comment
Share on other sites

Found this on the Microsoft site - yet to test if it helps.

Yeah that kind of works for xp but the boot.ini is different in vista. Vista x64 works fine but the lack of drivers, eh there is no way I am going there...

Link to comment
Share on other sites

  • 3 months later...
  • 1 year later...

Yeah its old, yes I found this by google, and I wanted to post an appreciative post.

Nothing wrong with that, atleast in my eyes.

There is ALOTTTT of bad (wrong) info out there about this topic and this is one of the few threads with the right info.

Link to comment
Share on other sites

This is a known problem. Vista can indeed handle 4GBs of RAM but depending on your computer system, some of the RAM may be used for other peripherals in your rig.

Usually the most common thief of your RAM is your integrated GPU. Unless you have a physical graphics card inside your rig, some of your RAM will be taken as shared video memory.

Also, PCI buses, PCI-E buses, even physical graphics cards can consume your RAM for their own address space. The only way to defy this "bottleneck" is by upgrading to 64-bit.

Link to comment
Share on other sites

Actually, I thought it was different. This is my understanding:

32bit Vista can only use 4GB of RAM total. This includes RAM from GPUs, etc.

So take the RAM thats avail to Windows, add the GPU RAM, as well as memory used by IO devices such as chipsets and PCI devices and you get 4GB.

What I dont understand is, why doesnt this happen with 2GB of RAM (the memory whole)

Link to comment
Share on other sites

Actually, I thought it was different. This is my understanding:

32bit Vista can only use 4GB of RAM total. This includes RAM from GPUs, etc.

So take the RAM thats avail to Windows, add the GPU RAM, as well as memory used by IO devices such as chipsets and PCI devices and you get 4GB.

What I dont understand is, why doesnt this happen with 2GB of RAM (the memory whole)

This is correct. 32 bits can only "see" up to 4GB of RAM because that's as high as you can count with 32 bits. Any other resources like your motherboard and video card that have their own addressable memory must fit within that 32-bit space so normally the only way to do that is to map the peripheral memory over some of the usable system RAM. PAE can get around this, (I think it uses some sort of bank switching,) but the application you are using must explicitly support PAE or will be stuck in the same 32-bit range. :)

32 bits is 0x00000000 to 0xFFFFFFFF = 4,294,967,296 bytes (4G)

Link to comment
Share on other sites

Actually, I thought it was different. This is my understanding:

32bit Vista can only use 4GB of RAM total. This includes RAM from GPUs, etc.

So take the RAM thats avail to Windows, add the GPU RAM, as well as memory used by IO devices such as chipsets and PCI devices and you get 4GB.

What I dont understand is, why doesnt this happen with 2GB of RAM (the memory whole)

It does.

Windows won't show the truncation until it hits the Hardware reserved limit. Which isn't shown in the Ram Tables.

BTW eventually when we get to the limit of 64 bit the same issue will show up. although I don't think most people will complain with 1 gig out of 15 exabytes or whatever 2^64 is (too lazy to google it right now)

el

Link to comment
Share on other sites

it would take quite awhile to reach the 64bit limit but we are getting very close to the 32bit limit now.

Link to comment
Share on other sites

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.