What is the max ram for Vista 32 bit?

Page 3 - Seeking answers? Join the Tom's Hardware community: where nearly two million members share solutions and discuss the latest tech.
Status
Not open for further replies.
Solution
Incorrect. A 32 bit OS cannot go beyond 4GB of addressable memory, ever. And it has nothing to do with the developers coding support for more than 4 in the OS.

Why? A 32-bit register means that 2^32 addresses, or 4 gigabytes worth, can be referenced. This is a hard, mathematical limitation. This 4GB includes system memory, video RAM, and any onboard memory - anything that uses an address. This is why users see less than 4 if that's what they installed. What happens is the OS assigns addresses in order of importance: whatever's on the Mobo, then Video, and then the installed DIMMS. What you see displayed as usable is the value of your physical RAM less Video and onboard.

You may be able to put more physical RAM on the Mobo...

smahaf

Distinguished
Sep 28, 2009
1
0
18,510
See the information in the link below.
The way Vista works in SP1 and above is it displays the installed memory rarther than the memory available to the system...

So if you have 4GB or more it may be displayed in system properties although that does not mean it is available to the system

Read here for more info


http://support.microsoft.com/kb/946003/

Thanks
smahaf
 
Yes, I am fully aware that the OS doesn't totally become 36-bit with PAE. I'm also aware of the capabilities of 64-bit. Which is why I don't understand why anyone with modern hardware would still tinker around with 32-bit "enchanced" by PAE. Sure it's fun to play with on old hardware not capable of 64-bit... but to me, that's about it.
 

Kewlx25

Distinguished
You can have more than 4GB, but Windows will only let you use ~3GB of it. This is not a limitation of the hardware but a limitation Microsoft implemented on non-server editions because of the lack of quality drivers for consumer-grade parts.

Windows can be made to see more than 3GB, but it will not use it. You can have have more memory and not hurt Windows 32bit, but you can use all that memory if you decide to later upgrade to 64bit.

Also, 64bit and 32bit Windows Vista/Win7 cost exactly the same. There is little reason to use 32bit assuming your hardware supports 64bit, which is most anything in the last several years.

If you do hack your Win32 box to use more than 3GB of memory, if even 1 driver doesn't play nice, it can cause data corruption/system locks/etc. Even if it doesn't happen all the time, it can be silently and slowly ruining your data.
 

Real idiocracy

Distinguished
Jan 20, 2010
3
0
18,510
All these back and forth arguments over a half cocked solution. time to upgrade 64 bit all the way. I like upsetting the establishment too, but seriously PAE isn't a total fix anyway. For the average joe telling them how to make a 32 bit system recognize more RAM is like telling an auto mechanic to build a space shuttle. I would hate to be a support technician on the other side of that phone call. "OOh some rebel on a forum told me how I could get win32 to recognize more RAM and now my computers broke" ...Awesome. way to go genius.
 

Real idiocracy

Distinguished
Jan 20, 2010
3
0
18,510
Oh yeah by the way any of you awesome techies have this ridiculous mod running successfully on you 32 bit vista or xp because you sure do act like it the best thing since sliced bread. If not you all need to eat your words and for clarification I'm talking about it successfully running on a desktop client not server 2003 that's two totally different things. Computers are vastly cheaper now than they ever have been so just get with the times. You have to pick your battles and this one is stupid. If your trying to do this to keep a 3 year old system running your just stupid because there are probably still going to be a host of other restrictions that will prevent you from running any of todays hardware intensive programs besides the amount of RAM your system can utilize, like , oh i don't know a crappy 3 year old processor. Come on this argument is pointless. I'm glad someone somewhere championed Win32 utilizing more than 3 GB's of RAM they deserve a gold star. I know this sounds defensive but i'm just trying to be realistic about this.
 

Kewlx25

Distinguished
I had another post on this info before.. here's a few facts.

#1. DEP(aka NX bit) requires PAE, so PAE is usually enabled already

#2. Windows reserves the upper half of the address range for the kernel, so no program can ever access more than 2GB of ram and on a 32-bit machine, all the programs together may not have more than 2GB of total memory used. Even if you have 3GB of ram, only 2GB will be usable and above that is used exclusively by the kernel

#3. A single program may use more than 2GB of memory in a 32bit machine *if* it uses special APIs to manage PAE paging.

#4. Microsoft disabled accessing above 4GB in any client OS because of driver issues.

#5. The 4GB address range is SHARED by all devices. If you have 4GB of ram and your video card has 512MB of ram, Windows has to map all 512MB of ram, so it means 512MB of your memory cannot be mapped. There are more devices than just your videocard that needs memory mapping, so expect less than 3.5GB of memory and even less if you use SLI/Crossfire since both cards must be mapped

Post Note:
The reason why drivers are an issue is because of this. Lets say you have 8GB of ram and you forced Windows into using all of it. Now lets say one of your drivers asks to allocate 8MB of memory. Windows, being PAE aware, will go out and allocate some memory and it might allocate it above the 4GB limit in *ANOTHER* page. Windows comes back and tells that driver "Here's a free memory range that you can use". The driver, being unaware of PAE, goes out and starts playing with that memory range. OOOPPPSsss.... WRONG PAGE!. Now the driver is running at kernel level which means IT CAN DO WHATEVER THE F IT FEELS LIKE. So now it's writing over another program's memory and suddenly your program crashes.

Now, I don't know how many of you people ever tried to overclock memory, but minor random memory errors don't always crash your system. Now image running a Windows Update and two different drivers try to allocate memory and windows comes back and says to each program "You get memory FFA0 on Page1 and you get FFA0 on Page2". Now both drivers don't know about PAE and start playing with the EXACT SAME MEMORY RANGE. Lets say one of those drivers is your Harddrive controller and the other is your sound card. Now, while your Windows Update is patching your files, you're getting a sound stream mixed in with your data and now you're screwed.

But [sarcasm]luckily[/sarcasm], these data errors are usually low, random, and cause quirks/corruption nice and slowly, like a cancer in your system and you wonder why your game crashes once per week, why Windows "just doesn't work right" and you need to reboot, why your data is suddenly corrupted after working so well for so long.

What comes to mind? Russian Roulette. Have fun....err, Just get 64bit.

This stuff is all well documented if you go read MSDN.
 
That's pretty much what I've said to the people tooting the PAE horn... it's a fun thing to try on the side, but if you want a stable OS with 4GB+, 64-bit is the best solution. I realize there was a real need for it when the hardware didn't exist and servers needed to address 4GB+ of RAM. Now, with almost every processor being 64-bit capable and multi-cored and with a nice, stable version of Windows to go with it... there's just no reason to stick with 32-bit and PAE.

I understand the desire of some of these people to "stick it to the man" as it were, but they're also sticking it to themselves a little bit. There's no guarantee that it will be stable and MS also puts other memory limits in place. (Home Premium 64-bit can only use 16GB of RAM while Business can access up to 192GB). I wonder if they also impose a 4GB limit on 32-bit... even if you are successful in getting PAE fully functional.
 

mikrev007

Distinguished
Oct 28, 2008
264
0
18,790


Classic statement. But nonetheless, each and every application can use 2GB. So maximum can grow very large.
 
In a 4GB system, there will be (quite obviously) only 1 2GB chunk to work with... anything more gets paged out. If you're running 6GB+ of RAM with 64-bit Windows, the 32-bit apps can use any 2GB chunk they want... but each 32-bit program is still limited to 2GB.
 

mikrev007

Distinguished
Oct 28, 2008
264
0
18,790
That was not the point. The point was wrong information.

If you have 3.5 GB usable, and the kernel is using 0.5GB, then your applications can use 3GB together.

The physical memory is not split 2/2 between the kernel and applications as the statement says.
 
Status
Not open for further replies.