What is the max ram for Vista 32 bit?

Page 2 - 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...




Why would Microsoft bother to remove the limit now?

I could see the need if there wasn't another way to cover the addressing needs of desktop computers - which is what XP is aimed at. If that were the case, then MSFT would clearly have to enable it and pressure their partners/providers to ensure all drivers are Large_Address_Aware. But that's not the case.


Just use a 64 bit version of the OS and the problem is effectively solved.
 
Have you ever heard the addage "Just because you CAN do something, doesn't mean that you SHOULD."?

Yeah... I can do it too... but I'd rather use 64-bit Windows and not have to worry about "broken drivers". I have 64-bit processors and at least 4GB of RAM in the computers I use... I see little point in clinging to what amounts to a workaround to a physical limitation of 32-bit. Besides, as was pointed out, it's 36-bit with PAE, not 32-bit. I'll just continue to be happy with 64-bit and skip the frustration of trying to use a workaround that is no longer supported.
 

mikrev007

Distinguished
Oct 28, 2008
264
0
18,790

The world of computing would be very boring, if that had to stop someone from doing that thing every time.


People sometime refer to PAE as a "hack". You almost sound like them.
 
No, it's not a "hack"... but it is a workaround. There is a difference. Servers needed to address more than 4GB of RAM and since we didn't have 64-bit processors readily available (at least none that were x86 compatible), a workaround was needed. The "hack" part comes in when you modify the kernel to allow PAE to work in a way it was never intended to on the desktop.

Don't put words in my mouth. I didn't put any in yours.

PAE is simply and completely unnecessary now. All but the cheapest of processors are capable of running x86-64 compatible OSes. MS has even stated that Windows 7 will be the last version of Windows to have a 32-bit installation option. If you really need to address more than 4GB of RAM and need more than 4GB of address space, then going 64-bit is a better option anyway.

I'd rather use a real solution instead of a bandaid... but maybe that's just me. You're of course free to do whatever you like... I just personally don't see the point. I understand the desire to take something and make it do what it was never designed to do... but again there is a much better solution available that doesn't cost you any money or at least very little money. (If you had 32-bit Home Premium, you could upgrade to 64-bit for a nominal fee).

So forgive me for not seeing the point... but nothing you say is going to convince me to "see the light" when it comes to PAE vs. 64-bit. The future is 64-bit.
 

mikrev007

Distinguished
Oct 28, 2008
264
0
18,790
The other point is: it IS fundamentally designed to address more than 4GB. Microsoft just cap their client OS differently than their server OS.

You say "workaround"... Just because an OS is 32-bit doesn't mean it MUST have a 32-bit wide address bus...

Edit: The CPU has different addressing modes. PAE is one of them (different page table structure) and allows for more than 4GB. I don't like the word "workaround".
 
Mike - You keep belaboring this - but as provided above, Microsoft have intentionally disabled PAE on the desktop. So unless you have a server edition, you can't use it anyhow.

The question was about 32 bit Vista. Not Server 2003. So what's the point?
Please explain how it does anyone any good, aside from being an excercise in theoretical horse droppings?
 




No... I get it entirely: You're stating that 32 bit OSs aren't necessarily limited to 4GB. I understand this. And you've also made the point that - if only manufacturers wrote proper drivers - there isn't a real technical reason to not.



OTOH, I am coming from a more practical point of view: Without running server editions of Windows, you can't actually *do* that. So what good is it, except insofar as to confuse people who don't know better?.

Also, manufacturers haven't ever really been forced to write proper drivers. So as a practical matter, there are (tens of?)thousands of drivers which operate in kernel mode and are not Large_Address_Aware. And on the other side of those bad drivers, are millions of people who don't understand that a "driver" is something other than the person sitting behind the steering wheel. Allowing the increase in addres space through PAE would merely serve to expose non-compliant software... In the form of BSOD's, right in the end user's faces. It's a potential support nightmare for OEM's, and I perfectly understand why it's not allowed.


The solution is very very simple: On the desktop, the limit in 32 bit Windows is 4GB of address space. If you need more, use a 64 bit OS and 64 bit drivers. The direction the industry is taking is 64 bit, anyhow. No need to create support issues unnecessarily.
 

mikrev007

Distinguished
Oct 28, 2008
264
0
18,790
Let me repeat then: it is not about Microsoft's official memory cap, but about how much memory you can get Windows to use when you modify the kernel (this is why the thread was brought back from the dead).

Another point: when someone says that PAE is a "workaround", they have misunderstood what PAE is.
 



If you are technical enough to modify the Kernel, then (1) You should know this stuff already, and therefore need no explanation.

And (2) given you have that knowledge, you would also be fully aware you don't *have* to modify the kernel if you simply use a server version of Windows, like 2003. The bonus of this approach is that your system is still supportable.

Not to mention the huge majority of the user/participant base here are not capable of making these kinds of hacks. And Yes, modifying the kernel of an operating system to do something other than what it was written to, is a hack.
 

mikrev007

Distinguished
Oct 28, 2008
264
0
18,790
So if you don't know this stuff already, you are forbidden to learn about it?

The "hack" I talked about is when people refer to PAE as a hack, aka a "workaround" to make a 32-bit OS use more than 4GB. The hack when you modify the kernel is another type of hack, and is not what I ment in that sentence.
 
As pointed out to you a number of times, in order to use PAE on Desktop Windows for the purpose of expanding memory requires a hack. And a rather deep one, at that.

So fine - PAE isn't a hack in and of itself. But understand that it's usage with desktop windows *requires* a kernel level hack before it will work.


Why do we have to hack the kernel when you can skip the entire (asinine!) argument, and simply either use a server edition of the OS, or go 64 bit?? It's a complete non-issue, provided you use the proper version of Windows for your needs.

Why do you insist on make this so... freaking... hard...??
 
Really...




(emphasis mine)

I could have sworn that "Modify The Kernel" means something completely different from "Use the Proper Version Of The OS". You'd think, that in a world where desktop PAE isn't a hack, but merely requires one to work we'd make that distinction clear. You know - rather than perpetuate a stupid argument over something that was stated - by me - two years ago in this same thread.







 

schubert_09

Distinguished
Aug 4, 2009
1
0
18,510
I have ASUS MB machine has 4GB RAM, then the BIOS can only show about 2.6GB RAM, and Windows 2003 Enterprise shows about 2.6GB memory too. Then I read some info that the system needs some RAM for display, etc so I can only see 2.6GB. okay! what can I say!
Then I installed Windows Server 2003 Enterprise version on another ASUS MB machine with 8GB RAM. I can see 8GB from BIOS, and also all 8gb can be seen from windows 2003Enterprise too. I can use them too since I am running several Virtual machine and each VM has abour 2GB memory assigned. That's cool, right! (Now who said the system needs some RAM so we can see all physical RAM?)
Now today I am install the same win 2003 to a new machine which has 12GB RAM, the BIOS does show all 12GB, but thewindows 2003 shows only about 3.13GB memory. Not sure why, anyway, I am trying pay attention what's difference among my installations.
Anyway!!!
 

Geoff Chappell

Distinguished
Aug 4, 2009
2
0
18,510
No, scotteq, using PAE on 32-bit Windows Vista for access to physical RAM above 4GB does not require a hack, not of any sort, let alone a "rather deep one". All it requires is the appropriate license _data_ from Microsoft.

The cited article, which I wrote, does hack the kernel, but the hack's only action - which is anyway accomplished in fewer than a dozen bytes - is to _simulate_ having license data that does not restrict memory use.

Now, since Microsoft does not admit openly that this is all that's required and looks set never to distribute the little bit of data that would upgrade the license perhaps even less painlessly than users presently upgrade from Home Basic, I agree with you that the reality for ordinary users is that 32-bit Windows Vista ignores memory above 4GB. Within that context, you are entirely correct that users should either get a 32-bit server edition or (surely better) get 64-bit Windows Vista.

However, any notion that this reality for ordinary users exists because 32-bit Windows Vista is _incapable_ of using memory above 4GB is plainly incorrect. All the code is there, exactly as Microsoft ships it, for using all the RAM that PAE can deliver.

A server license just to get the use of more memory would be a backwards step for many users, because just as the consumer versions come with license values that limit memory use, the server versions come without license values that are required for various consumer-oriented programs, e.g., the chess game.

Of course, for anyone who is buying a new computer and new software, the natural strategy is (now, in 2009, and likely for the rest of my working life) to buy 64-bit everything, with as much RAM as you can afford. From this pragmatic perspective, even looking at 32-bit Windows Vista is indeed an exercise in "theoretical horse droppings".

But not everyone is buying a new computer and new software. For those who were when Windows Vista was released (nearing 3 years ago), the 64-bit strategy was not so clearly recommendable. After all, 64-bit Windows Vista was itself not so readily available and 64-bit applications were an outright rarity in high street stores.

For those who now have 32-bit Windows Vista on a perfectly serviceable computer but who just want the full use of their RAM or who are thinking to buy more RAM, any alternative to a 64-bit upgrade is necessarily hypothetical. But if a license had existed all along for 32-bit Windows Vista with PAE, then that's what at least some of them would have, and a case for them to upgrade to 64-bit now would certainly not be obvious. Even if a license were offered as a new feature today, I could see good reasons to take the license upgrade as the minimal disturbance of a working installation or the least difference from other machines.

By the way, the Large Address Aware flag in executables has nothing to do with drivers, let alone with anyone's use of physical memory addresses.

That some, perhaps even many, 32-bit drivers are written with defects that are exposed when PAE allows physical memory addresses above 4GB is undeniable. However, the main categories of defect mostly need to be fixed when porting to 64 bits, and the natural expectation must therefore be that the potential for your support nightmare is rapidly receding. Whether it was ever significant for Windows Vista must surely be an open question anyway: it's not as if anyone can test it for themselves, short of hacking the kernel to work around the license restriction.

However significant the potential ever can have been, it is in large part a problem of Microsoft's own making. True, Microsoft then has the problem of cleaning up the spilt milk, but please let's not overlook that they split the milk by telling OEMs and driver developers and everyone else for so long that PAE was just for servers.

Geoff Chappell.
 
No shootings here... just a shake of the head. With 64-bit becoming mainstream sooner rather than later... 32-bit and PAE makes little to no sense. The "old computer" argument is compelling... but most consumer level computers that are 3+ years old supported a MAX of 4GB or less. If 64-bit doesn't make sense for these computers, then PAE certainly wouldn't either. Now if you have an old computer that is able to support more than 4GB, then PAE may be useful... especially if your processor doesn't support x64 extensions.

However, for modern hardware with modern processors, then PAE makes a lot less sense. You're better off installing an x64 version of Windows and taking full advantage of the 64-bit capable hardware in your computer.

I have no issues running x64 Vista and I will be running x64 Windows 7 upon release. I see no reason to cling to 32-bit + PAE. It was interesting when XP was the only option and 64-bit was a programmer's wet dream... but with 64-bit garnering more and more support, it just doesn't make sense to me anymore.
 

Geoff Chappell

Distinguished
Aug 4, 2009
2
0
18,510
Of course, I have been shot at already, with this talk of my having presented some sort of deep hack to enable something that the software supposedly wasn't built to do. Of course it was built for the job: in Windows Vista SP1 and Windows Server 2008, the only code that has to know any details about PAE is exactly the same. So, how can one have a full implementation and the other need a deep hack!

I can't correct all the technical misunderstanding, as much as I might wish that so much of it doesn't masquerade as knowledge. Neither can I care if people look at PAE on 32-bit operating systems and say the future is anyway with 64-bit Windows. I agree, even. My interest is just that 64-bit nirvana be attained honestly.

The attainment is doubtful when a dichotomy is invented between what is "becoming mainstream sooner" and what is "3+ years old" and doesn't support 64-bit. In between, there is a world of grey that many commentators gloss over - even when it's raised specifically.

If your machine can run 64-bit Windows, but you happen to have 32-bit applications and 32-bit Windows on it, which you're perfectly happy with except for not getting the use of all 4GB of your RAM, then it's more than a bit simplistic to say that since you _can_ run 64-bit Windows you ought to.

Sure, if you're going to change to 64-bit applications too. Otherwise, it's not _obvious_ that installing multiple GB of a new Windows is better than changing a few KB of license data. Indeed, I suspect that recommendations for 64-bit Windows in this grey area are not just simplistic but prejudiced: how else does something that would ordinarily be thought a hugely disproportionate solution for a relatively simple problem come to be recommended as obvious?

One reason is that not far from such advice there is almost always a suggestion that a 32-bit operating system's use of memory above 4GB is a hack or at least a workaround (though what it's thought to work around is always a mystery). Another reason is that curiously distant from such advice is any warning about the hacks involved in how 32-bit applications are run on 64-bit Windows. How does anyone call PAE a hack but omit to mention that 32-bit programs on 64-bit Windows don't even get an honest view of the file system!

Many users won't be affected by the latter, but some will find that they don't get reliable behaviour from such programs as file management utilities and backup programs unless they get 64-bit versions or at least get WOW64-aware 32-bit versions. If you don't at least acknowledge why people might reasonably prefer to stick with their working 32-bit software on 32-bit Windows rather than install 64-bit Windows and find they've committed themselves to an early upgrade of (some) applications, then you can't be looking at their situation straight on.

You don't even need technical knowledge to see that installing 64-bit Windows over a working installation of 32-bit applications on 32-bit Windows is no slam-dunk for all users. Just look at file sizes. Apart from needing several extra GB of disk space, which not all users have (or want to spare), see that 64-bit executables are generally bigger than their 32-bit counterparts, often by 10 percent or more. If you change to 64-bit Windows as your solution for picking up an otherwise lost 0.5GB on a machine fitted with just 4GB, then depending on how much of that extra RAM you actually do need for your usage, you may find that much of what you've gained you lose as bloat.

Please bear with me for just one more point. From the amount of hate mail and similar forum comments (though not in this one) since I wrote that "Licensed Memory in Windows Vista" article, I know I must stress again and again that I am not some evil retardant of the future. I am not arguing against 64-bit Windows. But I _am_ saying that the industry has done itself and its customers a disservice by not honestly confronting the pros and cons well before now. That process does not begin without acknowledging that the really very simple option to keep 32-bit Windows has been limited by an artifice that takes advantage of widespread ignorance. What the industry has done is not pretty, and the attendant issues of trust should concern even those who are buying a new computer now, with 64-bit Windows and 64-bit applications (as I would recommend).

Geoff Chappell.
 
But then PAE isn't 32-bit either... it's 36-bit. So the statement that a 32-bit OS is limited to 4GB still holds true. To address more than 4GB, you need to have 36-bit extenstions the same way you need 64-bit extensions.

Taken from Tom's:

Workarounds for reclaiming that lost memory have been introduced, of course. Intel’s Physical Address Extensions enabled 36-bit physical address tables, which did help in server environments by upping maximum memory size to 64 GB. However, according to a presentation given by Chuck Walbourn, senior software design engineer in Microsoft’s XNA Developer Connection at Gamefest 2008, PAE never really worked the way it should in with desktop operating systems, which would have needed to map the 4 GB virtual address space into the greater physical space. Drivers were the main problem, he said. They had application compatibility problems, assuming they always had 32-bits with which to work, not 36.

We all understand that PAE in and of itself isn't a hack. The "hack" part comes in when PAE is enabled on an OS it was never intended for... ie a desktop OS. (Windows in this case). The average Joe won't know or won't care about PAE... which is just fine, because it would probably cause more headaches for the average Joe than 64-bit Windows. PAE was created for servers... since desktops at the time couldn't support more than 2 or 3GBs of RAM anyway. As a result, vendors didn't see a need to support PAE with their software or drivers... unless they were created for servers.

The average Joe also wouldn't notice things like a slightly higher hard drive footprint. With the smallest drives coming in at 250GB, an extra gig or 2 here and there definately wouldn't be noticable. Of course, it does add up... but for the most part unless you're really anal about how much hard drive space is being used, you're not going to care.

With rumors that Windows 8 will be 64-bit only and 64-bit support growing every day... it seems a step backwards to go back and look at PAE. It may make some sense for some... but I'm not one of those people.
 

mikrev007

Distinguished
Oct 28, 2008
264
0
18,790


A 32bit OS doesn't become a 36bit OS just because you use 36 bits for the physical address bus. The OS is still 32bit (as in the virtual address space remains at 4GB), so the statement about 32bit OSes can only address 4GB is still false.

Switching to 64bit mode gives you an entire new instruction set, new registers, a pretty large virtual address space, etc. You don't get that with PAE.
 
Status
Not open for further replies.