Good way to use >4GB RAM with 32-bit OS

jtr1962

Flashaholic
Joined
Nov 22, 2003
Messages
7,505
Location
Flushing, NY
I recently upgraded from a vintage 2003 A7N8X-E motherboard to an Asus F2A85V-Pro. I installed 16 GB and am currently using Windows 7 64 for my main O/S. I also need to occasionally boot into my old XP install because my parallel port EPROM programmer doesn't work on Windows 7. Anyway, I noticed that XP could only see at most 3.42 GB of the 16 GB installed RAM (this was with a 32 MB frame buffer-XP sees less than 3.42 GB with higher frame buffer settings). Of course, this was expected. PAE is enabled on my XP install. In theory this allows access to up to 64 GB but Microsoft restricted access to 4 GB starting with XP SP2, allegedly because of driver compatibility issues. This essentially meant over 12 GB of my RAM went to waste whenever I booted into XP. Now let me state that I only had 3 GB in my old system and it was usually enough. In fact, I didn't even bother using a pagefile. I was told this might cause problems, but in 6 years of running without a pagefile I never experience any.

Regardless, I wanted to see if there was some way to make use of the wasted RAM. Fortunately, I came across the Gavotte Ramdisk Utility yesterday when googling if it was possible to get XP to use more than 4GB of RAM. While you can't (unless you have SP1 and enable PAE), you can still make use of otherwise unaddressable RAM with this utility because it can access RAM over the 4 GB barrier, even with a 32-bit O/S. With the Gavotte Ramdisk Utility I can make a 12.47 GB ramdisk. I can then enable the pagefile and place it on the ramdisk. XP limits pagefile size to 4095 MB but nothing prevents you from setting up more than one pagefile on your ramdisk. Here's how:

Just open regedit and go to the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Session Manager\Memory Management key. In the "PagingFiles" multi-string value paste the following:

Z:\pagefil1.sys 4095 4095
Z:\pagefil2.sys 4095 4095
Z:\pagefil3.sys 4095 4095


This assumes that Z is your ramdisk. Modify as needed for your particular case. You can use the numbering scheme shown to have fewer or more pagefiles as needed, depending upon the space available on your ramdisk. Granted, it's gross overkill but now I can make use of most of my 16 GB in XP. Task Manager now shows a commit charge limit of 15536 MB. I left about half a gig free on the ramdisk for temp files, browser cache, and so forth but I could have used that also for paging if I wanted to.

Chances are good I'll probably never use much over 3 GB when in XP. However, at least now I don't have to worry if I go over that. Also, by setting up a pagefile I no longer have to worry about any issues associated with not having one.

If you have a motherboard which supports > 4 GB of RAM and you're running a 32-bit O/S (either as your primary or secondary O/S), you can now make use of RAM over the 4 GB barrier which would otherwise go to waste.
 

LEDAdd1ct

Flashlight Enthusiast
Joined
Jul 4, 2007
Messages
3,557
Location
Hudson Valley
Simply fantastic!

Awesome idea.

Still don't know how the software, running inside a 32-bit OS, can even access that memory,
but, as your screenshot shows,
I suppose the proof is in the pudding. :)

EDIT: Thought I saw a screenshot somewhere with 12 gigs on a RAM disk. Must be fever hallucinations.
 
Last edited:

jtr1962

Flashaholic
Joined
Nov 22, 2003
Messages
7,505
Location
Flushing, NY
Still don't know how the software, running inside a 32-bit OS, can even access that memory,
but, as your screenshot shows,
I suppose the proof is in the pudding. :)
32-bit OSes have used PAE to access up to 64 GB of RAM since the days of the Pentium Pro. However, MS disabled 32-bit home operating systems like XP from accessing RAM past the 4 GB line, even though they can, ostensibly because of driver compatibility issues. Remember that on most 32-bit machines PAE is enabled by default for DEP (data execution prevention). Because of this, third-party software like RAM disk drivers can use PAE to access memory above 4 GB, even if the OS itself doesn't touch that memory.

Of course, most of this is moot in these days of 64-bit computers and operating systems. The only reason you might need to use a 32-bit OS on a machine with >4GB of RAM is if you're still running large applications which just won't work on a 64-bit OS. In my case, I needed to boot into XP sometimes to use my microcontroller programmer and a few other things. None of these of course require remotely near even 4 GB of RAM. I simply tweaked XP to use most of my RAM via a RAM disk just because I can. ;) I figure why not be able to use it should I ever need it. I actually had to work to open enough programs to use even 6 GB of RAM, never mind all 16 GB.
 

ShineOnYouCrazyDiamond

Flashlight Enthusiast
Joined
Aug 18, 2009
Messages
4,442
Location
CT, USA
Have you tried using VMWare to install a copy of WinXP inside Win7? Then just map the parallel port to the XP install? I think this would save a lot of time between dual booting.
 

jtr1962

Flashaholic
Joined
Nov 22, 2003
Messages
7,505
Location
Flushing, NY
Have you tried using VMWare to install a copy of WinXP inside Win7? Then just map the parallel port to the XP install? I think this would save a lot of time between dual booting.
Yep, tried that. It doesn't work because the programmer needs to access the parallel port directly. It has its own 32-bit driver to do exactly that. In order to work with Windows 7, I would need a 64-bit driver. No chance of that since the company which made the programmer is long out of business.

That said, booting my old XP install inside a VM is very useful for lots of things. I like having access to what is essentially my old PC without dual booting. I can even use my scanner which doesn't have drivers for Windows 7.
 

mvyrmnd

Flashlight Enthusiast
Joined
Sep 4, 2009
Messages
3,391
Location
Australia
... ostensibly because of driver compatibility issues. ...

Yeah. Like the driver compatibility of their back pocket :poke:

In a 32 bit system (with PAE), the 4GB address ceiling is not system-wide. The 4GB address limit is per thread - ie. Firefox can only access a limit of 4GB, and Outlook can access a maximum of 4GB, but there's 12GB in the system . Microsoft chose to make the 4GB address limit system wide for consumer OS'es. For what reason I can't pretend to guess but I think it went a little bit like this:

1. Limit maximum system addressing on comsumer OS
2. ???
3. PROFIT!

Linky to some guy who shows this in action
 
Last edited:

ShineOnYouCrazyDiamond

Flashlight Enthusiast
Joined
Aug 18, 2009
Messages
4,442
Location
CT, USA
Bummer VMWare didn't work it's been a great alternative for any devices that I've had. But I haven't dealt with anything quite as obscure.

As a side thought have you tried it with a USB to Parallel adapter?
 

jtr1962

Flashaholic
Joined
Nov 22, 2003
Messages
7,505
Location
Flushing, NY
Bummer VMWare didn't work it's been a great alternative for any devices that I've had. But I haven't dealt with anything quite as obscure.

As a side thought have you tried it with a USB to Parallel adapter?
From my reading of the reviews on Newegg, most those USB to parallel adapters aren't even a real parallel port. They just offer something like "USB printing services" via their driver. Many of them don't even work right with printers.

In case you want to see in all the gory detail what I went through to get my programmer to work at all on this machine, here it is.
 

ShineOnYouCrazyDiamond

Flashlight Enthusiast
Joined
Aug 18, 2009
Messages
4,442
Location
CT, USA
Just gave it a quick read - sounds like that was quite a pita. If you ever wanted to get around the dual boot annoyance maybe you could just get an older computer for $100 and use that as an XP machine.
 

jtr1962

Flashaholic
Joined
Nov 22, 2003
Messages
7,505
Location
Flushing, NY
Just gave it a quick read - sounds like that was quite a pita. If you ever wanted to get around the dual boot annoyance maybe you could just get an older computer for $100 and use that as an XP machine.
My old motherboard and power supply still works. I'm probably going to put it in an old case for exactly that reason.
 

Latest posts

Top