up vote 11 down vote favorite
6
share [g+] share [fb]

I upgraded my PC to 4 GB RAM and I get only 3 GB. Windows 7 32-Bit consider that I've 4 GB RAM but didn't use more than 3 GB.

Someone told me that MS Windows 32-bit doesn't support RAM larger than 3 GB.

So please is there any way to make my OS "Windows 7 32-Bit" support more than 3 GB RAM ?

*`Note: I can't move to 64-bit because I've many program doesn't work with a 64-bit OS.

Edit::

I tried what Mr. Wonsungi advised me but whenever I check this option:

Enable support for 4 GB of RAM

I get the following error:

'Cannot access to the registry key HKEY_CLASSES_ROOT\CLSID\{E88DCCE0-11d1-A9F0-00AA0060FA31}.'

There is no "CLSID" in my registry, I don't know why!.

link|improve this question

20  
"many program doesn't work with 64-Bit OS" is not really a valid reason in the age of virtual computers. with VirtualBox (which happens to be free) you can run your 32-bit applications on a 32-bit windows virtual machine in seamless mode (integrated into the host OS) and hardly feel a difference (unless you need the full power of your graphics card available to these applications) – Molly7244 Nov 8 '09 at 18:13
I agree with Molly. And for 16-bit programs, you can use an emulator like DOSBox. dosbox.com – musicfreak Nov 8 '09 at 18:56
1  
If you own Windows 7 Professional, Enterprise or Ultimate, consider checking out Windows XP Mode: microsoft.com/windows/virtual-pc – alex Nov 8 '09 at 19:24
I'm using many 32-bit programs on Win7 64bit. They date from 1998 to 2001. Most require compatibility modes to work. Are you making an assumption it won't work, or someone told you it won't work? Have you actually tried? – kmarsh Nov 9 '09 at 15:00
ad Edit1: I understood that you didn't upgrade to 4 GB yet...so you don't know yet, if it works or not, right? To make sure it works, you need to upgrade b/c there's not only Win but also HW limitations. Do upgrade and then give us more - detailed - infos on your setup if it doesn't work. – Gerd Klima Nov 10 '09 at 6:53
show 1 more comment
feedback

9 Answers

up vote 7 down vote accepted

You can use PAE, but it's not nearly as good as just going 64 bit. Check this MSDN Page.

link|improve this answer
I found this To explicitly enable PAE, use the following BCDEdit /set command to set the pae boot entry option: bcdedit /set [{ID}] pae ForceEnable at the MSDN page that u provided. But i don't know how and where to write this command. Could u help me please ?. – Wahid Bitar Nov 8 '09 at 12:06
4  
If you don't know how to do it from that, I highly recommend not doing it at all, if something goes wrong you'll need that knowledge to rescue your system. – Phoshi Nov 8 '09 at 13:23
4  
the PAE switch is not some hidden miracle and certainly not the holy grail for 4 GB 32-bit systems (or else everybody would be using it, right?). it may cause system instability. – Molly7244 Nov 8 '09 at 13:27
1  
The PAE switch still won't allow you to use the entire 4gb of RAM. See my response below for a solution which overcomes this issue. – Breakthrough Sep 9 '10 at 15:40
feedback

Read this:

http://www.codinghorror.com/blog/archives/000811.html

For general info, there is also this overview on memory limits per Windows edition:

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

link|improve this answer
They say it is an X86 problem. Can you explain me why 32 bit OSX has no problem adressing 16 Gb in a MacPro then? – bert Nov 8 '09 at 17:44
By the way, in 8 and 16 bit land, it was very common to have RAM amounts beyond 2^bit bytes. – bert Nov 8 '09 at 17:45
4  
The wikipedia entry for PAE (Physical Adress Extension) states: Mac OS X Mac OS X for Intel Macs supports PAE and the NX bit on all CPUs supported by Apple (from 10.4.4—the first Intel release—onwards). Mac Pro and Xserve systems can currently support 32 GiB of RAM, even though the Mac OS X 10.5 Leopard kernel remains 32-bit. The Mac OS X 10.6 Snow Leopard kernel can optionally run in 64-bit on certain systems en.wikipedia.org/wiki/Physical_Address_Extension – Gerd Klima Nov 8 '09 at 19:22
1  
OSX 32 and Linux Kernel 2.6 32 are essentially 32/64 byte operating systems, using primarily 32 bit instructions but using some 64 bit memory addressing, particularly for the file system and O/S memory allocation. Programs running on them are still subject to some 32 bit limitations. – kmarsh Nov 9 '09 at 15:03
3  
This is incorrect. 32-bit versions of the Linux Kernel are not some weird 32/64 byte [sic] operating system. They are 32-bit operating systems that, if the right options are selected, can make use of PAE to address 2 ^ 36 bytes of memory, though less than 2 ^ 32 per process. If the kernel is 64-bit, it uses 64-bit addressing. – ChrisInEdmonton Dec 1 '09 at 14:06
show 1 more comment
feedback

Recently, a group of programmers have released a kernel patch for Windows 7 to allow the usage of more than 4 GB of RAM under Windows 7. Click here to download the patch, or view more information about it. The patch basically modifies the Windows 7 kernel to be more like the Windows Server 2003 Datacenter Edition, which is compatible with up to 8 GB of RAM under 32-bit mode.

The patch allows you to extend the PAE well into 8 GB of RAM under Windows 7 32-bit. For more information about why Microsoft implemented this technical limitation, see this article.

Note that individual processes will still be limited to 4 GB even if the system can access more... Although if you had 8 GB of RAM, then at least you'd still have another 4 GB for other processes ;)

link|improve this answer
1  
I have been using this patch for months now, and have experienced no problems. Some programs (esp. Photoshop) have no trouble when using a lot of RAM. :) – Breakthrough Jan 4 '11 at 12:58
feedback

The answer to this question is really "depends on who you ask".

Some say to use PAE, which will allow you to address higher than 4GB BUT Microsoft will NOT let you on many of 32bit versions of Windows.

http://msdn.microsoft.com/en-gb/library/aa366778%28VS.85%29.aspx
The following table specifies the limits on physical memory for Windows 7.

Physical 4GB limit, period. It's a licensing issue. There might even be a "hack" floating around to let you use more than 4GB, but I don't remember.

Please do note: Vista and Windows 7 on 32bit will report the TOTAL PHYSICAL RAM you have in System, but it will ONLY use 4GB of it. So, shoving 16GB in a computer running 32bit Windows will only use 4GB ACCORDING TO MICROSOFT even though "System" control panel will show 16GB. Windows 7, Vista, and XP 32bit will only use 4GB of RAM, its a fact. However, certain versions of Windows Server WILL use more than 4GB with PAE enabled.

For those going "your wrong PAE will allow you to to use more than 4GB", yes I agree, however, Microsoft says that you can only use 4GB on most of the 32bit desktop OS so if you feel that page is in error send them an email or call them to complain.

link|improve this answer
4GB is an artificial limit. Intel hardware can handle much more. Even a 32-bits operating system, allocating memory in pages of 4K, and assuming that it stores the page number in a 32-bit integer, can easily handle 4GB x 4K = 16TB. Per-application, the byte addressing limit for a 32-bits register is 4GB. So if MS says 4GB for the OS, this is simply a marketing hype, backed by a simple limitation that the article cited in my answer has localized to a very few hardware instructions in the kernel. – harrymc Nov 11 '09 at 9:32
2  
Reread my post again please, Microsoft has this limit due to licensing. I never said you can't use more than 4GBs in a 32bit OS, you simply can't in the desktop versions of Windows, period. This is the facts. To "fix" it isn't a simple registry fix either. You need a disassembler, a hex editor, knowledge of Assembly and some luck. – Nathan Adams Nov 11 '09 at 19:41
feedback

Someone told me that MS Windows 7 32-bit doesn't support RAM larger than 3 GB.

Someone is wrong. 32-bit Windows desktop operating systems support up to 4 GB of physical memory. However, due to the hardware limitations of the x86 architecture, only 3.5~ GB are available for the OS if 4 GB are installed.

link|improve this answer
2  
This is incorrect. 32-bit Linux, for example, has no problem supporting 4 GB of RAM. Or, say, 64 GB of RAM, though with per-process limits of course. Heck, some versions of 32-bit Windows support more than 4 GB of RAM. See en.wikipedia.org/wiki/… – ChrisInEdmonton Nov 8 '09 at 13:47
2  
what is incorrect??? 32-bit windows supports up to 4 GB physical memory, end of story (unless limited by other factors, i.e. the 'starter' editions), this table you are referring to INCLUDES 64-bit versions of windows such as the early windows 2000 advanced server and data center. get your facts straight, quote: "The table includes some 64-bit versions" – Molly7244 Nov 8 '09 at 16:13
1  
"Microsoft Windows 2000 Advanced Server Limited Edition and Windows 2000 Datacenter Server Limited Edition were designed for 64-bit Intel Itanium microprocessors." – Molly7244 Nov 8 '09 at 16:20
1  
Windows 2000 Advanced Server uses PAE on 32-bit systems to access up to 8 GB of RAM. There's also an IA-64 version, but that's not the one I'm talking about. – ChrisInEdmonton Nov 8 '09 at 18:45
1  
well, i don't care much for this argumentation or comparisons with exotic/outdated server or *nix operating systems , the OP claimed that windows 7 32-bit doesn't support more than 3 GB RAM which is WRONG, it supports up to 4GB, get it? but to please you i will edit my answer accordingly. – Molly7244 Nov 8 '09 at 18:57
show 11 more comments
feedback

As far as I know, 32-bits Window can use memory up to 64 GB, and can be "hacked" to do so.
This hack is fully described here: Licensed Memory in Windows Vista.
(Note: I do not advice anyone to actually try it.)
It also makes interesting reading, since it explains very well all the concepts involved.
I reproduce below his proof-of-concept image.

That 32-bit editions of Windows Vista are limited to 4GB is not because of any physical or technical constraint on 32-bit operating systems. The 32-bit editions of Windows Vista all contain code for using physical memory above 4GB. Microsoft just doesn’t license you to use that code.

image

link|improve this answer
Please see my comment above, Vista and above will report the TOTAL PHYSICAL memory in that window. That is NOT the total amount the OS will use. For one I am sure that hack is out dated and probably won't work in Vista SP2. Furthermore, 64bit processors are being the norm, so there is no reason not to use a 64bit OS. – Nathan Adams Nov 11 '09 at 1:50
@Nathan: The article I cited makes for a very compelling reading. From what I know about Intel architecture, 32-bits or not, the only real limit should be 4GB per-application. – harrymc Nov 11 '09 at 8:05
I'm pretty sure that violates the EULA. So, I would NOT recommend installing that patch. – Nathan Adams Sep 13 '11 at 4:32
@Nathan Adams: Nor did I recommend it. – harrymc Sep 13 '11 at 4:48
feedback

Just curious, can you give some examples of programs that don't work on 64-bit windows? 64-bit Windows since Windows XP has excellent backwards compatibility with 32-bit programs. Check the 5th question on this page: http://windows.microsoft.com/en-US/windows-vista/32-bit-and-64-bit-Windows-frequently-asked-questions. Take Microsoft Office for example, it's all 32-bit, but runs great on 64-bit Windows.

The only time you wouldn't want to move to 64-bit is if you have hardware that doesn't have 64-bit drivers. Hardware drivers must match the OS platform.

link|improve this answer
The Juniper VPN software my employer uses does not work on a 64 bit OS. – Jeff Shattock Nov 8 '09 at 20:59
2  
VPN software falls more under the "driver" category. – churnd Nov 9 '09 at 0:33
I've many "Arabic" programs doesn't work with 64-Bit. Also i have some "old" hardware doesn't have 64-Bit Drivers. – Wahid Bitar Nov 9 '09 at 11:33
feedback

This patch works or so it seems.

Before the patch I could use 3gb out of 4gb, and now all 4gb is accessible.

Here's the patch:

http://www.pallab.net/2009/12/30/enable-more-than-4gb-memory-in-windows-vista-7/

Here's the screenshot (Windows 7 Ultimate Hungarian):

enter image description here

link|improve this answer
feedback

The Ultimate Windows Tweaker has an option to enable 4GB of RAM on 32-bit Windows OS. Find it under "System Performance."

link|improve this answer
I tried this but whenever i check this option: Enable support for 4GB of RAM i get the following error: 'Cannot access to the registry key HKEY_CLASSES_ROOT\CLSID\{E88DCCE0-11d1-A9F0-00AA0060FA31}'. There is no "CLSID" at my registry i don't know why!. So please help me :( – Wahid Bitar Nov 24 '09 at 18:18
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.