Page 1 of 1

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

PostPosted: January 7th, 2015, 10:07 am
by Simion32
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:

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

PostPosted: January 7th, 2015, 1:10 pm
by VideoViking
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?

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

PostPosted: January 7th, 2015, 3:35 pm
by Simion32
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.

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

PostPosted: June 28th, 2016, 12:20 am
by xapim
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