Vista 32-bit memory wall question

Gautama2

Golden Member
Jun 13, 2006
1,461
0
0
Lets say I have 32-bit Vista home premium. I have 3gb (2x512mb+2x1gb) and 256vram, my thoughts are that it should be all detected right? My understanding is that Vista 32-bit detects about 3.12gb of system memory usually, but has a limit of 4gb of all memory. So, if this is correct, it will show my 3gb of system memory and 256vram?
 

Rilex

Senior member
Sep 18, 2005
447
0
0
It depends on the amount of address space allocated to other devices on your system. Video card address space is not the only thing that starts at the 4GB barrier and moving on down.
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
Probably, but it depends on how much address space the motherboard resources require.
 

BonzaiDuck

Lifer
Jun 30, 2004
16,889
2,208
126
I just went through some web-searches to answer this question.

I wish I'd save the links.

There is not only an issue about the upper boundary of physical memory recognized, but the amoung of memory that is grabbed by applications as opposed to being reserved by the OS for itself, and there is a registry parameter (I think) which allows you to tweak this feature.

Best place to look is at the MSDN forums. There was a link to either a knowledge-base or XP Toolkit explanation of the parameter.
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
There is not only an issue about the upper boundary of physical memory recognized, but the amoung of memory that is grabbed by applications as opposed to being reserved by the OS for itself, and there is a registry parameter (I think) which allows you to tweak this feature.

As long as your BIOS supports remapping the lost physical memory then the amount of recognized physical memory is only limited only to what the board can hold or the manufacturer has limited you.

On a 32-bit system there is always 4G of virtual memory per-process no matter how much physical memory you have and the NT kernel splits that in half by default. That means each process gets 2G and the kernel itself gets 2G of VM. You can change this to a 3/1 split with the /3GB kernel switch in your boot.ini. This means that each process that's marked large address aware gets 3G and the kernel gets 1G but if you have drivers that want a lot of memory you'll have issues. And since only large address aware binaries will get 3G of VM you pretty much have to mark some manually and hope that they don't crash.