vote up 3 vote down star
3

Hi,

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

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

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

Note: I can't move to 64-Bit because I've many program doesn't work with 64-Bit OS.

Thank you :) .

Edit::

I tried what Mr.Wonsungi advised me 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 :(

flag

10  
"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 at 18:13
I agree with Molly. And for 16-bit programs, you can use an emulator like DOSBox. dosbox.com – musicfreak Nov 8 at 18:56
If you own Windows 7 Professional, Enterprise or Ultimate, consider checking out Windows XP Mode: microsoft.com/windows/virtual-pc – alex Nov 8 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 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 at 6:53
show 1 more comment

8 Answers

vote up 5 vote down check

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

link|flag
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 at 12:06
3  
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 at 13:23
3  
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 at 13:27
vote up 7 vote down

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|flag
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 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 at 17:45
3  
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 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 at 15:03
1  
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 at 14:06
vote up 5 vote down

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

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|flag
1  
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 at 13:47
1  
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 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 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 at 18:45
1  
Nope, no can do in 32-bit Windows 7, as you correctly point out. Windows 7 does not make use of PAE. My point is that it isn't a limit with the 32-bit x86 architecture (at least, as of 1994), because other operating systems do just fine. It is indeed a limit with the way Microsoft designed their Windows desktop operating systems, though. It's a pedantic point, granted, and it's not like PAE is a magic bullet even for those operating systems that support it. These days, it's hard to imagine not just going 64-bit. I long ago withdrew my negative vote on your answer, btw. – ChrisInEdmonton Nov 10 at 16:04
show 9 more comments
vote up 3 vote down

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|flag
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 at 9:32
1  
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 at 19:41
vote up 2 vote down

Recently, a group of programmers have released a kernel patch for Windows 7 to allow the usage of more than 4gb 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 8gb of RAM under 32-bit mode.

The patch allows you to extend the PAE well into 8gb 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 4gb even if the system can access more... Although if you had 8gb of RAM, then at least you'd still have another 4gb for other processes ;)

link|flag
vote up 1 vote down

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|flag
The Juniper VPN software my employer uses does not work on a 64 bit OS. – Jeff Shattock Nov 8 at 20:59
2  
VPN software falls more under the "driver" category. – churnd Nov 9 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 at 11:33
vote up 1 vote down

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|flag
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 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 at 8:05
vote up 0 vote down

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

link|flag
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 at 18:18

Your Answer

Get an OpenID
or
never shown

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