Win7 32 RAM restriction

BioInclined

Limp Gawd
Joined
May 23, 2011
Messages
332
I was curious as to why these restrictions are in place? I think i heard it's 12GB max on 32-bit? Some excessive number on 64-bit.
Is there any way to override it? I plan to upgrade from 4GB to 12+ soon.
 
32-bit desktop windows is limited to 4GB of address space (which usually means 3.<something> GB of usable ram though on some machines i've seen it drop as low as 2.5GB of usable ram). MS claim this limit is to avoid problems with buggy drivers. I'm not convinced they are being entirely honest though especially as they DO support more than 4GB of address space on 32-bit server versions of windows.

It is possible to bypass the 4GB limit in 32-bit visa and win7 but it involves hexediting the kernel and then playing some tricks with the loader to make the edited kernel boot.

As for the 64-bit versions the limit depends on edition. Home basic is capped at 8GB, home premium at 16GB and proffessional ultimate and enterprise at 192GB (which isn't quite as crazy a value as it used to be)
 
Here's Microsoft's detailed chart of which Windows releases allows how much RAM:

http://msdn.microsoft.com/en-us/library/aa366778(v=vs.85).aspx

In practice, those with consumer motherboards with 4 or 6 RAM slots will find it very difficult to find RAM sticks larger than 4GB, so your practical limit is 16GB or 24GB. It's been this way for quite awhile. There are server motherboards and RAM that can take you up to 192GB but doing that is extremely expensive.

If you set up your OS to allow all 16 exabytes (that's a LOT, I'm not sure that much RAM has been made yet) that a 64-bit system could theoretically address, your code would be ungainly because your addresses would be so big. It's like if your house is on a street, it's a lot easier to write your street address as 14400 52nd Street than it would be to write it as 0000000000000000000000000000000000000000000000000000000000000000014400 52nd Street. All those extra address spaces are not helping.
 
Thanks for the info guys.
It isn't that i didn't want 64, its that i got 32 free from my mothers friend who had them through a great discount.
Looks like I'll be upgrading.
 
32-bit desktop windows is limited to 4GB of address space (which usually means 3.<something> GB of usable ram though on some machines i've seen it drop as low as 2.5GB of usable ram). MS claim this limit is to avoid problems with buggy drivers. I'm not convinced they are being entirely honest though especially as they DO support more than 4GB of address space on 32-bit server versions of windows.
It's totally honest. 32 bit servers that allowed over 4GB of ram (PAE switch) was addressed with 36 bits. The problem is some 32 bit drivers did not take into effect 36 bit addressing, which means it might go to find something in memory that it can't see (in the 4 additional bits of addressed space). Server drivers at the time could have PAE support. Microsoft removed PAE from home editions because there was almost no support for PAE drivers for the home market.

As for 64 bit, dive right in. I just set up an 18 computer + server setup a few weeks ago. Every OS is 64 bit and absolutely all of their software works fine. I did have to use XMP for one application though.
 
The keys work on both. Get a 64 disk and reinstall

Grab the appropriate x64 ISO from this post (scroll to the bottom, make sure to get the Windows 7 SP1 Media Refresh version so you have the very latest available):

http://forums.mydigitallife.info/th...amp-X64/page60?p=470600&viewfull=1#post470600

Those links are direct downloads from Digital River, the company that Microsoft contracts with to provide the bandwidth and hosting for the "Anytime Upgrade" program, so there are 100% legit.

/thread :p
 
Basically win 32bit will not use more than 4GB of ram without some extensive changes and even then most people agree it is not worth the effort.
 

I like the technical information in the article but the tone of the author really pisses me off. He tries to spin the whole 32bit 4gb issue as being an anti-competitive measure by Microsoft *groan*

He seems to completely ignore the fact that pretty much ever OS I've ever used (linux included) has the same limitation (at least using the standard settings)
 
12GB.. Dang what are you going to be doing?
32-bit?????

lol, 16GB....
Like i said, i just happen to have 32-bit prior. I will end up playing with RAM drives. I don't multi-task to hard but i usually have Hulu open, Google Sketch, web browsing, Steam.
With the prices of how they are, i couldn't resist. I have some Corasir XMS series, which is fine stuff, but it is 1.65v and i plan to OC a bit soon so though maybe i could same some voltage and heat. I traded my girlfriend $100 worth of RAM for my 25" I-INC monitor so that helped.
I love hobbies, right now i can't stop with PC stuff. I grabbed an H50, RAM, and tomorrow I'm starting a few vent cuts and paint on the case, maybe a window. Then i am ordering couple fans.
Plus, i have an old Dell 4600 case(with internals) i want to mod for my next build/transport and MAYBE a CPU water cool setup.
 
12GB.. Dang what are you going to be doing?
32-bit?????

Workstation at my last job had 12GB and I used every last bit of it. I was doing number crunching/analysis on logs from a Facebook game.
 
Here's Microsoft's detailed chart of which Windows releases allows how much RAM:

http://msdn.microsoft.com/en-us/library/aa366778%28v=vs.85%29.aspx

In practice, those with consumer motherboards with 4 or 6 RAM slots will find it very difficult to find RAM sticks larger than 4GB, so your practical limit is 16GB or 24GB. It's been this way for quite awhile. There are server motherboards and RAM that can take you up to 192GB but doing that is extremely expensive.

If you set up your OS to allow all 16 exabytes (that's a LOT, I'm not sure that much RAM has been made yet) that a 64-bit system could theoretically address, your code would be ungainly because your addresses would be so big. It's like if your house is on a street, it's a lot easier to write your street address as 14400 52nd Street than it would be to write it as 0000000000000000000000000000000000000000000000000000000000000000014400 52nd Street. All those extra address spaces are not helping.

Using all the memory of a 64-bit address space does not make the addresses larger than using say 2GBs. It's all contained in and you always use an 8 byte, 64-bit number either way if you use 64-bit programs on 64-bit OSes. 32-bit programs use 4 byte, 32-bit numbers for addresses at all times and so on.
 
Grab the appropriate x64 ISO from this post (scroll to the bottom, make sure to get the Windows 7 SP1 Media Refresh version so you have the very latest available):

http://forums.mydigitallife.info/th...amp-X64/page60?p=470600&viewfull=1#post470600

Those links are direct downloads from Digital River, the company that Microsoft contracts with to provide the bandwidth and hosting for the "Anytime Upgrade" program, so there are 100% legit.

/thread :p
what is "Media Refresh" version?
 
what is "Media Refresh" version?

To quote one source:

Microsoft has published a new refresh version of Windows 7 with SP1 integrated ISO media on May 12, 2011, which fixes a minor issue which causes Windows 7 SP1 media cannot be used to install on new PC. The Windows 7 SP1-U (Media Refresh version) includes the installation hotfix KB2534111, and nothing else. No other changes have been made to the Windows 7 with SP1 ISO image despite there are tens of updates been released after the Windows 7 SP1 was released.

KB2534111 is a hotfix which fixes “Computer name cannot contain only numbers, may not be identical with the user name and cannot contain spaces. Retype the name of the computer” error when installing Windows 7 by using Windows 7 SP1 integrated installation media. The error happens when user sets the Time and Currency Format setting to a locale other than English, Finnish, German, and Swedish during initial installation, or the locale was selected before the computer is purchased, and then a computer name that contains non-ASCII characters is entered in the Out of Box Experience (OOBE) Wizard.

The error is not considered to be show-stopping though, as end-users can always manually remove any non-ASCII characters from the computer name so that the installation can proceed, and revert the computer name to original preferred name that contains non-ASCII characters after the installation process is complete.

Nonetheless, Microsoft is still updating all distributions and languages of the Windows 7 with SP1 slipstreamed media to include the hotfix, where the new ISO images downloaded from MSDN or TechNet Subscriber Downloads include a “u” in the file name, or known as Windows 7 SP1-U to indicate the media refresh version. Interestingly, Windows Server 2008 R2 with SP1 integrated media is not affected by the issue, and thus has not been updated.
 
I know it has been said but I would highly suggest upgrading to a 64 bit OS. It's much faster and compatible with almost all hardware these days. You also lose the RAM limitation.
 
32-bit desktop windows is limited to 4GB of address space (which usually means 3.<something> GB of usable ram though on some machines i've seen it drop as low as 2.5GB of usable ram). MS claim this limit is to avoid problems with buggy drivers. I'm not convinced they are being entirely honest though especially as they DO support more than 4GB of address space on 32-bit server versions of windows.

It is possible to bypass the 4GB limit in 32-bit visa and win7 but it involves hexediting the kernel and then playing some tricks with the loader to make the edited kernel boot.

As for the 64-bit versions the limit depends on edition. Home basic is capped at 8GB, home premium at 16GB and proffessional ultimate and enterprise at 192GB (which isn't quite as crazy a value as it used to be)

MS is absolutely correct when they state that it is problem with drivers and whatnot. Creative Labs for example their drivers did not like to function properly with PAE enabled. Also, there are some PCI cards that cannot handle 64bit addressing.......
 
Well, that is not an excuse, because there are workarounds to that - which are also needed by a 64bit OS.

lolwalnut?

MS states that they do use certain work a rounds to try and alleviate these issues but again, they note the risks involved in doing so...... in 64bit OS they trap those cards and the OS it's self handles the addressing....
 
lolwalnut?

MS states that they do use certain work a rounds to try and alleviate these issues but again, they note the risks involved in doing so...... in 64bit OS they trap those cards and the OS it's self handles the addressing....

Yes, the driver tells Windows that the card cannot do 64bit-addressing. That same goes for at driver in 32bit Windows. If addressing above 4G is needed then the OS does its magic...
 
Yes, the driver tells Windows that the card cannot do 64bit-addressing. That same goes for at driver in 32bit Windows. If addressing above 4G is needed then the OS does its magic...

in 32bit windows PAE is known the encounter problems due to faulty drivers or non compliant devices as the OS cannot "trap" the card like 64bit windows can

Most common problem is memory corruption on PCI cards / busses that cannot handle 64bit addresses because they do no support dual address cycle (and thus are not PCI compliant)

PAE will always result in performance loss due to double buffering as it takes longer to process the IO request.

Best bet is if you have the need to use more than 4GB use 64bitt OS and if that is not feasable, to make SURE that all of your current hardware can handle DAC requests on the PCI bus......
 
in 32bit windows PAE is known the encounter problems due to faulty drivers or non compliant devices as the OS cannot "trap" the card like 64bit windows can
If the developer wants it to, it can trap just as fine as the 64bit OS can.

Most common problem is memory corruption on PCI cards / busses that cannot handle 64bit addresses because they do no support dual address cycle (and thus are not PCI compliant)
The problem doesn't change just because you install a 64bit OS.

PAE will always result in performance loss due to double buffering as it takes longer to process the IO request.
The same goes for a 64bit OS.
 
If my point is not clear: The issue with hardware not being able to do 64bit-addressing is the same whether you install a 32 or 64bit OS. Double buffering will be needed in both cases - which is handled by the OS.
 
I like the technical information in the article but the tone of the author really pisses me off. He tries to spin the whole 32bit 4gb issue as being an anti-competitive measure by Microsoft *groan*

He seems to completely ignore the fact that pretty much ever OS I've ever used (linux included) has the same limitation (at least using the standard settings)

Hm, I don't think so...

We are upgrading most boxes at work to 16G and an old old (3-4 year) linux 32-bit box got upgraded as well. It showed 16G in the OS without me having to do anything...
 
So i did this awhile back, the upgrade and it kept asking for a product key. I never keep useless stuff but wasn't thinking and the box had the code attached... (-.-)
So now it is giving me "copy is not genuine" I think its BS that i paid for this already and now have to rebuy?
Anyone know of a fix? I did install an update today and then it happened it seemed like, the update was KB2607712
 
Last edited:
Back
Top