I know that Windows XP 32-bit can be configured, through PAE, to support more than 3.5 GB of RAM. Is there a good tutorial to do this with Windows 7 32-bit?

As to why I don't simply use 64-bit Windows 7: The software for my Internet connection (cell phone-as-modem) will only work in 32-bit environments.

link|improve this question

43% accept rate
Unless you are using applications that are specifically designed to take advantage of the 36-bit PAE extensions in the CPU and the AWE API, there is absolutely NO point in using the PAE switch. – Molly7244 Oct 7 '09 at 15:00
5  
Molly: Actually there is a point to PAE even with apps that are not aware of 36-bit addressing. Even though each app can only access 2GB of memory, you can run multiple apps, each with their own 2GB. – davr Oct 7 '09 at 17:17
feedback

5 Answers

This article at Microsoft's MSDN site shows the memory limits for versions of Windows and Windows 7 32-bit is listed as a 4 GB limit.

You used to be able to use PAE to see more than 4 GB of RAM with Windows XP but this option was disabled in Service Pack 2.

The reason was that most drivers weren't PAE aware and threw their toys out of their pram if they ended up in memory above the 4 GB boundary.

If you use the /PAE switch now on Windows XP you'll make DEP available, but you won't be able to see more than 4 GB of RAM.

This 4 GB limit is still in place for Windows 7 32-bit. If you want to see more than 4 GB of RAM you will have to use a 64-bit version of Windows.

(This option to use PAE to see more than 4 GB of RAM is still available on 32-bit Server versions of Windows which I assume is down to a better quality of drivers expected for the kind of hardware you'd run Windows Server on.)

link|improve this answer
2  
I think the Server support is less due to better driver quality and more due to the fact that system administrators will be able to handle the situation much better than a mom. – Will Eddins Oct 7 '09 at 14:56
1  
"The reason was that most drivers weren't PAE aware and threw their toys out of their pram if they ended up in memory above the 4GB boundary." - Does this apply to Windows 7 32bit as much (using the kernel hack)? – Mark Gibaud Aug 23 '11 at 21:56
1  
The great Mark Russinovich explains the rationale behind the client and server memory limits under windows in his "Pushing the Limits of Windows" series of blog posts. blogs.technet.com/b/markrussinovich/archive/2008/07/21/… – ElvisFanTCB Aug 29 '11 at 7:28
Does the 4GB windows7 limit include hardware. I have set up PAE and get about 3.15GB. Is there about 1GB of (potential)hardware using up the rest and ms-windows blocking use of more that 4GB. On Gnu/Linux I get all 4GB. – richard Jan 26 at 13:06
@richard - the address limit includes address space needed for other hardware, most notable graphics cards which can eat up a lot of the 4GB. – Dave Webb Jan 27 at 3:55
show 4 more comments
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 (warning, some side-bar advertisements are NSFW). 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 Licensed Memory in 32-Bit Windows Vista (requires JavaScript to be allowed from www.geoffchappell.com).

As mentioned above, 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 ;)


For those interested in the technical aspects, this happens because of memory-mapped input/output (MMIO for short). This allows a CPU to access both peripherals and RAM through the address bus itself. Usually this is done though the higher-order memory addresses to avoid lower-order address conflicts. However, this gave rise to the commonly known 3 GB Memory Barrier in all consumer variants of 32-bit Windows operating systems.

link|improve this answer
3  
Warning: that first link has some NSFW content. – Jon Seigel Jan 25 '11 at 15:44
Warning added to response, thank you. I didn't even notice that :S – Breakthrough Jan 31 '11 at 12:56
Any information on whether this works well or is unreliable? – Mark Gibaud Aug 23 '11 at 21:38
@Mark Gibaud I used it for a year with no problems. I only had 4GB of RAM, but at least I was able to use the whole thing. Do note that the patch modifies the Windows Kernel, so I would make a backup before you patch your system. That being said, I never had a problem (I applied the patch on both my desktop and laptop a few times with no problems, even after everything was installed). – Breakthrough Aug 23 '11 at 21:42
1  
@Breakthrough: This is amazing. Do you happen to know how to get XP to do something similar? – Mehrdad Aug 29 '11 at 7:02
show 1 more comment
feedback

PAE should be enabled by default - Windows already uses it internally for the DEP/No-Execute feature.

But these instructions might help if Windows is doing its thing again.


Note that individual processes will still be limited to 4 GB even if the system can access more.

link|improve this answer
That link is wrong. Vista 32-bit only uses PAE for DEP and does not allow you to see more than 4GB of RAM. support.microsoft.com/kb/929605 – Dave Webb Oct 7 '09 at 14:48
But Niphoet (the asker) uses Windows 7, which has a limit of 8 GB (Home Basic; even more in other versions). – grawity Oct 7 '09 at 16:29
@grawity: yes, it's 8GB if you're using 64-bit Windows 7. The limit is still 4GB in 32-bit Windows 7. – Joshua Oct 7 '09 at 17:05
feedback

Windows 7 32 has PAE disallowing access past the 4 GB mark. See http://msdn.microsoft.com/en-us/library/aa366778%28VS.85%29.aspx for details.

For people out there who insist on 64 bit usage - there are some things that would not work in 64 bit environments that could benefit a performance gain from a ram disk that COULD access past the 3.25 mark in a 32 bit environment - specifically applications that page often. You could also put the page file within said ramdisk. In addtion, a VM is great, however emulation never really works as great as the real thing -- it all really depends on the application and the way it is implemented. There are still many hardware devices that will not work in a 64 bit world, and need the real time access to make them work well (while there are accelerators that help with real time access, it can still present problems.)

So, while 64 bit is technically superior, 32 bit is a legacy that will take a while go away, and there will be plenty of reason why people would like to access memory through PAE.

link|improve this answer
2  
Putting your pagefile on a RAMdisk makes no sense. – ElvisFanTCB Aug 29 '11 at 7:11
feedback

If your system can support it, you can use virtualization to allow access to your 32-bit phone drivers.

It would be a slightly more complicated setup but you could set up a virtual machine that made the connection and did internet connection sharing to your host, that way you get the benefits of 64-bit as well as being able to use legacy drivers.

VMware Workstation (commercial), VirtualBox (free, open source), and Windows Virtual PC (free) can all route usb devices directly into your virtual machine. Just install a 32-bit OS (even XP if you wanted), give it a marginal amount of RAM and you can do what you need. I've done this to load legacy applications that didn't support Windows 7 and my brother actually loaded his old Creative webcam (with no 64-bit drivers) and used Skype through his virtual machine.

link|improve this answer
He's got Windows 7...you completely forgot to mention "XP Mode", which is the new free virtualization feature included in Windows 7. – davr Oct 7 '09 at 17:18
I didn't directly mention XP mode since they didn't say if they were running 7 Professional or Ultimate (it's unavailable for the other SKUs) :) – Joshua Oct 7 '09 at 17:24
feedback

Your Answer

 
or
required, but never shown

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