8GB on Windows XP - Bypass The RAM Limit!!

The Delta Project is aimed at creating multimedia editing tools and other utilities for bringing to life the dreams and inspirations of game creators around the globe.

8GB on Windows XP - Bypass The RAM Limit!!

Postby Simion32 » January 7th, 2015, 10:07 am

Windows XP: Bypassing The Built-in RAM Limit of 3.5GiB

I thought that this would be a useful bit of information in general to post up, since I am building DELTA for machines that use Windows XP and onwards (except for Windows 8+ so far). Enjoy using this technique if you have a chance to do so! B/

The whole idea here is that you can bypass the 3.5GiB RAM limit that 32bit Windows XP places on your system, by creating a virtual hard drive in RAM (we call this a RAMDisk) and then moving Windows' paging file onto that RAMDisk. In other words:

[Windows XP → RAMDisk Software —> RAMDisk —> Has PageFile On it —> PageFile Used by XP —> Extends Usable RAM]

Requirements:

  • Motherboard hardware capable of:
    ----having more than 4GB of RAM in your RAM slots, and the RAM itself.
    ----exposing addresses larger than 4GB to programs on the machine.
  • PAE (Physical Address Extension) Mode Must be Enabled
  • Completing this procedure does not come without a heavy cost. You need to purchase the latest DataRAM RAMDisk, SuperSpeed RAMDisk Plus, or other RAMDisk software capable of using unmanaged RAM memory (that is, the upper "inaccessible" 4GB).
  • Must have Windows XP Pro or Media Center Edition SP3 for Group Policy Editor (on XP home you can use Regedit instead...)


Turning Off Default Pagefiles

You need to disable all of the existing paging files before this will work properly. To do so, go to [Start > My Computer (Right Click) > Properties > Advanced > Performance > Settings > Advanced > Virtual Memory > Change]. Click on each hard drive in the list and make sure you click "No Pagefile" and then "Set" to disable each of your existing pagefiles. Then click OK a few times to exit settings (Windows may ask you to restart, if it does, then you should restart).


Creating Your PageFile Script

Download swapadd utility from THIS page.

Put this exe file in C:\WINDOWS\system32, along with a .BAT script with the following:
@swapadd.exe "A:\pagefile.sys" ####M ####M

Where #### is the amount of extra RAM in Megabytes you have minus the space already used on the RAMDisk, minus 5. If you have 4GB you'd ordinarily have to put 4057.

This script causes the utility to add a new pagefile.sys to the drive A (you want this to be your 4GB RAMDisk in unmanaged memory). The important part here is that this utility forces XP to allocate the pagefile automatically without a reboot.



Adding the Startup Entry

Then, [Start > Run] gpedit.msc and put this batch file into [Computer Configuration > Windows Settings > Scripts > Startup].

If you need to add this to the registry startup instead, [Start > Run] regedit, then go to "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", [RightClick > New > String value] and name it whatever you want, then double click it and type in the path to your .BAT script file. Click OK and then close Regedit.

This way, each time you start the computer, you will have the RAMDisk ready and it will load up the pagefile as you boot. It will stay allocated for the remainder of the session. Apparently, this swapadd-type pagefile setting is only temporary and lasts only for one bootup.



Results

To verify that your setup is working restart the computer, log on, press Ctrl+Alt+Delete to access Task Manager, and [Performance > Commit Charge (K) > Limit] should be a very large value higher than 3,670,016, which will represent the amount of possible allocatable memory. This value might be less than your RAM maximum due to other hardware in the computer using a chunk of your RAM addresses. GPUs can use quite a lot of this. You can also double check by browsing to the RAMDisk in Windows Explorer (enable viewing system and hidden files) and seeing if pagefile.sys is there and is the size you expected.

The end result of this is that you will be able to use RAM that Windows XP would usually just ignore. Cheers! :dixiehappy:
Sage of Discovery
Bananas received 337
Posts: 2746
Joined: 2008

Re: 8GB on Windows XP - Bypass The RAM Limit!!

Postby VideoViking » January 7th, 2015, 1:10 pm

An addendum:

1. There are four versions of DataRAM RAMDisk Software: 12GB, 24GB, 32GB and 64GB. Does it matter which version? Secondly, this program does not support Windows XP. According to their release notes, it's phased out as of Version 4.4.

2. Is the XP page file the only thing that needs to be moved for the performance boost to take affect? What about scratch disks like those required by Photoshop, Audition and other siblings of the Adobe family?
Treasure Hunter
Bananas received 41
Posts: 329
Joined: 2009

Re: 8GB on Windows XP - Bypass The RAM Limit!!

Postby Simion32 » January 7th, 2015, 3:35 pm

Other pagefile-like things can be moved to a RAMDisk, however, you must make sure the file in question is only established as a temporary. Also of course you need to make sure there is enough room.

You *CANNOT* use the XP pagefile config to accomplish this, because the pagefile will not be able to allocate on the RAMDisk until after the system is booted and the RAMDisk is loaded into memory. It would end up placing a default page file on C:\ or splitting a huge pagefile between C:\ and any other internal drives. That's why you need the swapadd.exe trick - that is able to load a pagefile instantly just after bootup.
Sage of Discovery
Bananas received 337
Posts: 2746
Joined: 2008

Re: 8GB on Windows XP - Bypass The RAM Limit!!

Postby xapim » June 28th, 2016, 12:20 am

Hi i tried this on my laptop corei7 740QM with 2 win7 x64 and xp pro sp3 on boot with 10gb ram wich i patched xp with the chinese xp pae patch XP64G 2.1 Beta.exe and i created a 6144mb ramdisk with superseed ramdisk plus i tried the swapadd trick with the .bat @swapadd.exe "R:\pagefile.sys" 6041M 6041M after followed the steps to add the script to the startup in gpedit.msc and i also have the user and system variables temp and tmp in the same ramdisk and after i restarted i have a pagefile.sys of 4.177.920kb in the ramdisk and a 778.376kb pagefile.sys in C drive but the xp drive its E and i have a Commit Charge (K) > Limit] 15157480 so i think i might had got it dunno anyone could tell me if is all this ok cheers
Newcomer
Posts: 1
Joined: 2016


Return to The Delta Project

Who is online

Users browsing this forum: No registered users and 0 guests