Will Windows 7 32bit support more than 4 gigs of ram?

Nearsite

Gawd
Joined
Apr 21, 2006
Messages
965
Is it a limitation of 32bit addressing that does not allow a 32bit OS to support more than 4 gigs of ram?
 
No, it's an artifical limitation imposed by Microsoft. PAE (available since Pentium Pro) allows addressing up to 64GB of RAM on 32bit processors (though you're still limited to 4GB of address space for each process). However Microsoft limits all their 32 bit desktop operating systems, including Win 7, to 4GB. If you want support for more on a 32 bit system you need to go to Windows Server Datacenter or a Linux/BSD operating system.

But at this point there's not much reason not to run 64 bit.
 
It is not a artificial limit set by MS. Im sure MS limits Linux, BSD's and Solaris also.
 
No, it's an artifical limitation imposed by Microsoft. PAE (available since Pentium Pro) allows addressing up to 64GB of RAM on 32bit processors (though you're still limited to 4GB of address space for each process). However Microsoft limits all their 32 bit desktop operating systems, including Win 7, to 4GB. If you want support for more on a 32 bit system you need to go to Windows Server Datacenter or a Linux/BSD operating system.

But at this point there's not much reason not to run 64 bit.

It is not a artificial limit set by MS. Im sure MS limits Linux, BSD's and Solaris also.
You're both wrong. PAE exists, but it borks a lot of drivers, which is why it's not at all widely used.

But as far as the OP's question is concerned, no, Win7 32-bit will only address 4 GB of RAM. If you can use PAE with Windows 7, then you'll be able to address more than 4 GB of RAM, but it's a REALLY REALLY BAD idea.
 
You're both wrong. PAE exists, but it borks a lot of drivers, which is why it's not at all widely used.

It works fine on everything that's not Windows.

And yes, it is an artifical limit. PAE is enabled by default (IIRC) in Windows XP for NX bit support, but if you install more than 4GB of RAM, you certainly can't access it. Windows 2003 Datacenter supports 8GB and some of the uber expensive versions support up to the full 64GB. The limit might make sense if Windows drivers don't play well with more than 4GB of memory, but it's still artificial. Hell, I even agree with their decision to keep the limitation there in Win7 - 32 bit needs to die.


From the horse's mouth:
Windows XP Professional and Windows Server 2003 Memory Support. The maximum amount of memory that can be supported on Windows XP Professional and Windows Server 2003 is also 4 GB. However, Windows Server 2003, Enterprise Edition supports 32 GB of physical RAM and Windows Server 2003, Datacenter Edition supports 64 GB of physical RAM using the PAE feature.
 
Last edited:
I wish 32-bit would just die already.

Join the club.

What I don't get is why people try so hard to get 32-bit versions of Windows to see 4GB of RAM. What's the point? Vista or 7 64-bit will obviously take care of that problem, and virtually every program/game works flawlessly. And most that don't are poorly written to begin with.
 

Interesting, if you like rhetoric and believe the author's agenda. The guy assumes that Microsoft only supports new machines, for example; when they support all machines, even legacy ones. The device driver and IHV problems that he minimizes are completely real, and critical issues. The limitation is imposed by the OS, yes; but it's there because lots of software and firmware would completely break without it.

The FAQ in this section links to this essay, by the way: Understanding Address Spaces and the 4GB Limit
 
That damned article is spreading about as fast as that DRM FUD-laden one from about 1.5 years ago... and there's that website "Windows7Sins" now too.

There's an entire subculture out there that seems to get their rocks off bashing Microsoft. They really need to find something better to do with their time.
 
But... the bashing Microsoft is full of bullshit, the bashing Apple usually has hard facts behind it. ;)

And for the record, I didn't bring Apple into this, you did... sooo...
 
There's an entire subculture out there that seems to get their rocks off bashing Microsoft.
I'm not sure it's a subculture--it's very popular. And that's fine; I irrationally waste energy on hating people or things, too. When it gets in the way of understanding technical topics that are addressable as pure science, without rhetoric -- like virtual memory and memory addressing -- it gets a bit sad.

It's true in this case, even more so. The decision to remove PAE wasn't a simple one, and is examinable as a way that engineering needs to compromise in the face of business in order to achieve success. Engineers who are overly purist usually have a lot to learn about the real world, if they plan on being successful and selling products to actual customers. In my experience, it's the ones that seem to often find themselves spewing that same biased nonsense and failing to see the compromises and soft logic necessary to make effective decisions that are the ones who are also overly purist in nature.
 
Honestly, it's 2009, so why even care how much memory a 32 bit OS can support. If you are running Windows 7, there shouldn't be any question as to what platform you are using. This is an enthusiast's forum, for god's sake.
 
If necessary, you can use as much RAM as you damned well please with Windows 7 x86... just get RamDisk Plus or some other RAMdisk that'll let you have total access to the >4GB amounts for some really fast computing... no it's not "system RAM" but really, what small percentage of folks actually put >4GB of RAM into use consistently?

/me waves... I'm one of 'em with rendering and VM work which is becoming more popular, but if you're truly serious about such applications, you wouldn't be running a 32 bit OS in the first place.

The RAMdisk options nowadays do allow people to put that >4GB to good use.
 
This is an issue that's not an issue in the real world. For this to even matter you need to give a 32 bit OS with more than 4 GB of RAM. That's pretty rare. If you want to get a new system you'd NEVER buy a 32 bit OS for a system with more than 4GB. So this is all rather an important subject about nothing. Good to understand the technology but it just isn’t practically speaking an issue.
 
This is an issue that's not an issue in the real world. For this to even matter you need to give a 32 bit OS with more than 4 GB of RAM.
This is a common misconception. You actually hit issues when the total addressable memory, including general-purpose memory and memory-mapped I/O space, totals more than 4 gigs. The are issues with more than 3 gigs of memory, as well, though not as severe. And the total is a coarse estimate because of page granularity and mapping constraints.
 
All the OP did is ask whether 32-bit 7 can address 4GB of RAM :confused:
If it wasn't changed in Vista, why would it be changed in Windows 7, when x64 is gaining so much ground? I don't get the confusion, because this is supposed to be an elite, cutting edge, enthusiasts forum, right?
 
You're both wrong. PAE exists, but it borks a lot of drivers, which is why it's not at all widely used.

But as far as the OP's question is concerned, no, Win7 32-bit will only address 4 GB of RAM. If you can use PAE with Windows 7, then you'll be able to address more than 4 GB of RAM, but it's a REALLY REALLY BAD idea.

explain how I was wrong, telling somebody else they were wrong.
 
If necessary, you can use as much RAM as you damned well please with Windows 7 x86... just get RamDisk Plus or some other RAMdisk that'll let you have total access to the >4GB amounts for some really fast computing... no it's not "system RAM" but really, what small percentage of folks actually put >4GB of RAM into use consistently?

/me waves... I'm one of 'em with rendering and VM work which is becoming more popular, but if you're truly serious about such applications, you wouldn't be running a 32 bit OS in the first place.

The RAMdisk options nowadays do allow people to put that >4GB to good use.
My daily load is about 45% of 8GB, and Im at 67% of 8GB right now. :)
 
It is not a artificial limit set by MS. Im sure MS limits Linux, BSD's and Solaris also.
They don't support PAE. Microsoft OS's support it, they just lock it out of the Home versions. They do it because manufacturers did not make drivers for 36 bit address extension and it really fucks up systems if you try to run a 32 bit driver on a 36 bit enabled OS (because of PAE enabled). However, Windows Server drivers were required to support 36 bit, thus Microsoft allows it to be enabled.
You're both wrong. PAE exists, but it borks a lot of drivers, which is why it's not at all widely used.
That's the 'artificial' limitation he's talking about. Microsoft 32 bit OSes are capable of PAE but it is disabled on Home (regardless of what setting you try) OSes... thus artificially limited. Can you say he's 'wrong' about the word he used to describe PAE being disabled, sure, but his idea was absolutely correct.
 
This is a common misconception. You actually hit issues when the total addressable memory, including general-purpose memory and memory-mapped I/O space, totals more than 4 gigs. The are issues with more than 3 gigs of memory, as well, though not as severe. And the total is a coarse estimate because of page granularity and mapping constraints.

Granted, with 7 you get about 2.75GB of so with 32 bit. But my point is still valid. 4GB systems 32 bit are the exception, not the rule. Today 4GB plus systems are 64 bit or usually have that option from what I've seen. And really, few systems and apps are going to get big jumps in performance going from 2.75GB to 4GB in the real world anyway.

It's still an issue that's not 99.9% of the time.
 
But my point is still valid.
If your point is "this isn't an issue in the real world", then I think your point was never valid. People with 32 bit systems run into problems even before they get to 4 gigs of main memory, as I explained.

4GB systems 32 bit are the exception, not the rule.
Even if they're the exception, I'd point out they still exist in the real world. The numbers disagree with you; machines in danger of hitting memory space limtis are not exception; according to the survey, we see more 3- and 4-gig machines than 2-gig machines, while the vast majority of machines are still running a 32-bit OS.

And really, few systems and apps are going to get big jumps in performance going from 2.75GB to 4GB in the real world anyway.
It seems like you've really latched on to some common lore and not done much research for yourself. Indeed, the issue of memory addressability is usually not a problem app-to-app; though for some people it is. Address space limitations are, however, an issue for the whole system. If you run three apps that need a gig each (as a simple example), you'll really wish you had all four gigs to avoid paging; instead of stuffing all that into 2.75 gigs and swapping very frequently. Going to disk is the slowest thing any computer can do, and spending less than $100 on today's DDR2 memory to avoid it as much as possible is an investment with a high return for performance.
 
Yes, it's months since this thread ended, but I've just noticed these posts and I think they're a bit out of line for arguing against things I don't actually say in the article I'm being criticised for...

The guy assumes that Microsoft only supports new machines, for example

I'm "the guy" and I'd like to know: where in the article do I assume any such thing?

I appreciate you probably meant just to be brief, but how do you make an accusative assertion without naturally thinking at the time to support it by a reference or example to how I make the supposed assumption?

The device driver and IHV problems that he minimizes are completely real, and critical issues.

Do I minimise them? Do I ever say they were never real or critical?

What I do say is that Microsoft's accommodation was an overkill that can't credibly have been adopted solely for technical reasons. I also give reasons to think that the more that drivers are ported to 64 bits, the more these problems must be shaken out of the 32-bit drivers, so that the problems can't still be anything like as prevalent as Microsoft makes out or as many assume. Do you fault those arguments?

I also note that some of Microsoft's own reasoning about these issues is beyond ridiculous, e.g., that some drivers that hit the page tables directly will go wrong when they're faced with 64-bit PTEs instead of 32-bit.

And, of course, I back up my theoretical arguments by providing a means for anyone to start testing the question. Indeed, the wonder is that so many people assert that the problems are prevalent for Windows Vista even though they can't test it. OK, indirect testing has been possible since Windows Server 2008 was released. Is that how you know the issues are real and critical for Windows Vista?

The limitation is imposed by the OS, yes; but it's there because lots of software and firmware would completely break without it.

Lots would break (or would have, once upon a time) without some such limitation, true, but surely you don't mean to stretch this to saying it would break without this particular limitation.

The usual accommodation for such things is a configurable option. The default would be to limit access to memory above 4GB. OEMs who are confident would set the option differently when pre-installing. Advanced users might change it, too. Windows is full of such options to accommodate incompatibilities. You know all this, of course. Microsoft's great gift to the world - and arguably the main factor in Microsoft's dominance of operating systems - has been its attention to backwards compatibility. But what was so special here that Microsoft wanted a sledgehammer to crack the nut?

Since relevant options already existed when Microsoft chose instead to limit the access for all users - and to keep it that way through the licensing machinery - it's certainly reasonable to ask why they went so far and why they don't say anything about having skipped the easy and obvious.

The real puzzle is why so many people with strong opinions in favour of limiting access to memory above 4GB for "technical" reasons so rarely acknowledge that it could have been done with the nutcracker of (long-existing and documented) configurable options rather than the sledgehammer of licensing.

That Microsoft can choose whatever solution it wants is fine, but it would be no reason to make out that the chosen solution was the only one that met the technical need. Can that really be what you're doing?
 
The decision to remove PAE wasn't a simple one, and is examinable as a way that engineering needs to compromise in the face of business in order to achieve success. Engineers who are overly purist usually have a lot to learn about the real world, if they plan on being successful and selling products to actual customers. In my experience, it's the ones that seem to often find themselves spewing that same biased nonsense and failing to see the compromises and soft logic necessary to make effective decisions that are the ones who are also overly purist in nature.

Yes it is examinable this way, of course, and I'd have said that the article does so, but let me ask: what compromise do you mean?

You surely don't mean that the article ignores or dismisses the compromise of a purist's engineering solution in the face of long-standing engineering issues such as backwards compatibility. The article deals with that, though too briefly: since writing it, I have recognised that I vastly underestimated how many people are glued to the idea that Microsoft had to choose between a license restriction and free-for-all blue screens.

You surely don't mean that the article ignores the compromise of engineering for business strategy. No, after a dispassionate technical explanation of how Windows gets limited to memory below 4GB, the article proceeds exactly to examining this compromise. Since what was done is not explainable solely as engineering, there would seem to be only strategic reasons left, whatever these may be. That strategy determined the engineering is not itself criticised in the article. Of course engineering has to compromise. I'm an idealist, and even naive, but not that naive.

What is criticised is that the influence of strategy in this issue is misrepresented as an engineering decision. Of course, strategists in business typically don't want their mechanisms to be seen. Some of this is just a matter of strategic advantage against competitors but much is the realisation that their methods are ugly and might be counter-productive if known. Consumers, voters, and even business strategists in ordinary life, sometimes don't like to be told that something is done for one reason when it's plausibly done for another. If they don't like being misled, or even the thought that they are being manipulated, then that's an element to be considered by "the face of business in order to achieve success".
 
It irks me when people imply that 32-bit addressing can be used for more than 4GB memory. It's impossible; 2^32 bits = 4GB. PAE only works by adapting the kernel for 36-bit addressing.

Furthermore, PAE is, at best, an interim solution: 32-bit processes are really starting to approach the 2GB/process cap (albeit if not large address space aware), and PAE does not allow processes to exceed a total 4GB virtual memory. Additionally, 64-bit computing offers address space far beyond anything we're going to approach for decades, most probably, whereas the 36-bit address space of PAE only offers a total of 64GB memory, which is likely to be a problem again in the not so distant future.

Why not just move to 64-bit Windows? Microsoft aren't charging extra for it, and WoW64 is excellent. Certainly, it would have been possible to use PAE on end-user versions of Windows, but there's little point in the industry spending additional effort on validating everything kernel-side to work with PAE when it's an interim measure and we already have a better solution.
 
It irks me when people imply that 32-bit addressing can be used for more than 4GB memory. It's impossible; 2^32 bits = 4GB. PAE only works by adapting the kernel for 36-bit addressing.

Uhm, because the physical address bus is larger than 32 bits. Thus, you can address more than 2^32 bytes. I don't get why people don't get that.

The size of the virtual address space is another story.


whereas the 36-bit address space of PAE only offers a total of 64GB memory, which is likely to be a problem again in the not so distant future.

PAE doesn't stop at 64GB. To add a bit. At its current design (the page table), you can theorically address as much physical memory in PAE mode as you can in 64bit mode.
 
Last edited:
It is a valid question some very expensive music equipment (for example) does not have 64 bit support yet (or maybe never), and there is not any alternative. some of the equipment is made by companies like yamaha who do not care much about updating software once they sold something and they have the money,
 
In that case, where there are no 64bit drivers for the hardware, your solution is simple: Use a 32bit OS. Case closed.
 
There was no strategy involved. It was an engineering decision, end of story.

I suppose the best way to avoid having your reasoning disputed is to give none.

What is it with this forum? I have no interest in this forum - nothing to contribute, nothing to gain - except that one of your members writes freely of my assuming something that I reckon I don't and of my neglecting something that I surely do address at arguably too great a length. Now you come along and respond to someone's reasoning merely by asserting the negative - and insisting that an assertion suffices. The standard of logic used for criticism here is not high, is it?

Microsoft will have faced an engineering problem that had a range of solutions, which I sketched. Certainly, the engineers will have been aware of more than the two presented by mikeblas. The usual outcome of an engineering decision would be to favour a solution with minimal effect that can be implemented with minimal effort using existing resources. That such solutions were available and were not chosen is of itself prima facie evidence that the decision was not solely one of engineering. The solution that was chosen was the most restrictive and had implications beyond engineering, most notably legal. It's scarcely credible that a company as large and structured as Microsoft would let this solution be implemented by engineers without escalation or reference.

You may disagree whether this will have involved strategic consideration. You may disagree about what counts as engineering and what as strategy. But if you don't acknowledge that there were nutcrackers to use instead of a sledgehammer and you don't argue for why the latter was chosen over the former, then you make no argument at all.

Generally, if someone says X is doubtful because of Y, then fair criticism requires you to argue some such thing as that Y is false or that its truth would not (necessarily) invalidate X. Yet you don't even refer to Y. You just reassert X. If you respond, be sure to include how it can be that you first thought it reasonable just to reassert X.
 
Yes it is examinable this way, of course, and I'd have said that the article does so, but let me ask: what compromise do you mean?
The compromise between the benefit of having the feature, and the costs that it would cause.

I have recognised that I vastly underestimated how many people are glued to the idea that Microsoft had to choose between a license restriction and free-for-all blue screens.
You're the only one who, so far, has mentioned a "free-for-all". Your appeal to extreme fails to acknowledge that a small increase in frequency over the very large population of installed affected machines is a substantial problem.
 
Back
Top