Interesting way to cheat the4GB barrier(again)....

cyberjock

Distinguished
Aug 1, 2004
305
0
18,780
Ok, so I'm at it again.. trying to find the most effective way to have more than 4GB of RAM on a 32bit version of Windows XP.

Why am I so concerned about this 32-bit Windows XP RAM limit, when there's newer OSes and 64-bit versions out there?

Many people are unable to use OSes that can use more than 4GB of RAM(either by switching to 64 bit OSes or by switching to 32 bit server versions of Windows). I am one of those few people that can't "upgrade" beyond Windows XP 32-bit. I'm sure there also some people out there that do not want to buy Vista or Windows XP64 but find spending a few bucks on RAM and a program a much more appetizing idea. Many of us already have 4GB of RAM, with the top 768MB or so unusable. This means that many of us can pay $50 for access to 768MB of RAM. For someone with 3.25GB of RAM, that's in increase of 20%!

See my old thread at
http://www.tomshardware.com/forum/252402-30-interesting-cheat-barrier for my first try with a Gigabyte I-RAM card with 4GB of RAM.

So after that thread, I started looking around, and I found Superspeed's Ramdisk 9.0.3. You can read about it at http://www.superspeed.com/desktop/ramdisk.php. It can be purchased for $49.95 from their website.

From the website:

RamDisk Plus adds multiple disk support, system page file support, and a versatile disk image backup and restore facility. You can manually save the RAM disk’s contents to an image file, or have the contents saved automatically when the computer is shutdown. This feature ensures that service and application data stored on the RAM disk can be preserved between system restarts. During the subsequent system start-up, the disk's image is automatically loaded. A "live" RAM disk image may be backed up even with open handles to the volume. A RAM disk viewer lets you load image files as read-only devices.

Memory above 4GB can be used on OS-limited platforms. Virtual disks and removable disks are supported. Disks can be created with partition tables or without. RamDisk 9.0 and RamDisk Plus 9.0 can create partitionable RAM disks, which are supported by Volume Managment software. Windows' MMC disk managment snap-in recognizes and manages partitionable RAM disks. They are also compatible with other software such as Partition Magic and Veritas Volume Manager. RamDisk Plus 9.0 also can create and configure non-partitionable RAM disks, which are compatible with RAM disks created by RamDisk and RamDisk Plus version 8.0. RAM disks can be zeroed out upon removal and the disk image file can be preserved upon removal. A new licensing mechanism binds the software to the machine name rather than a system ID.

Whoa.. wait a minute! Does this mean I can use the unused RAM above the 4GB as a RAMDISK and then put a pagefile on it? Surely there would be some overhead because it's not real directly allocatable RAM, but how much of a performance decrease can I expect? Well, now it's time to play with my system and see what happens...

Here's what I used:

-Asus P5E motherboard with Q6600(g0) and 4x2GB RAM sticks(8GB total)
-Gigabyte I-RAM card was left installed in the computer with 4GB of RAM.

I grabbed a spare hard drive I had laying around and installed the following(mostly to simulate a normal PC with extra software loaded):

Windows XP SP3(32 bit version) with all updates
Symantec Endpoint Protection 11(latest revision).
Adobe Acrobat Reader 9 with all updates
All hardware drivers installed with latest version
Ramdisk 9.0.3.0
Roxio Easy Media Creator 10.0
Raxco Perfectdisk 2008
Winzip 12.0

Intent:

1. Determine the usability and possible performance increase from using the 4GB of RAM above the 32 bit barrier.
2. Benchmark the RAMDISK and I-RAM(4GB) installed in the system.
3. Have fun with this!

Setup:

I installed all software, and set up a 4095MB RAM drive on the computer. Windows XP by default used only 3386MB of RAM. 768MB of RAM seemed to be relatively unusable, and the remaining 4GB of RAM was able to be allocated for the swapfile.

RamDisk Plus 9.0.3 found that I had 8192MB of memory according to the BIOS. I had to reserve 768MB of RAM in the RamDisk Plus program(I could not figure out what this 'reserved' space meant from the manual), which allowed me to set up a RAMDISK of the maximum size available(4095MB). I figured out that if you do not choose to backup the RAMDISK at shutdown, when the system is booted again, you are left with a 4GB "hard drive" that is not formatted, so the swapfile isn't there. Unfortunately this is a slight problem. If I have a 4GB RAMDISK image that is going to have to be reloaded on every boot, then my boot times for Windows are going to be astronomically high. Some improvising was in order. Here's what I did:

1. Created the RAMDISK.
2. Rebooted the computer. This saved an image of the RAMDISK on the hard drive.
3. Upon reloading I made the image file read only.
4. Set up the pagefile on the RAMDISK and rebooted.

This is important because the RAMDISK image was only 26MB on my hard drive. Restoring a 26MB image file on system boot-up is a much smaller quantity of data to restore than a 4GB image file. Windows XP will recreate the pagefile.sys on every bootup, which is perfectly fine by me.

I also created a 2GB RAMDISK to simulate having 2GB of RAM used by other applications. This gave my system a total of 1.25GB of physical RAM available for use. I left this 2GB RAMDISK empty, because it's purpose was fulfilled just by creating it.

Benchmarks: (performed using Sisoft Sandra Lite 2009)

RAM Throughput - 5.6GB/sec
RAMDISK - 4.1GB/sec*
I-RAM - 125MB/sec

* - It is important to note one thing at this point. CPU usage when benchmarking the RAMDISK was 100% for 1 of the cores. So it looks like between actual RAM and my RAMDISK is about 25% decrease in performance. However at 4.1GB/sec, I don't think too many people have seen any other media transfer at rates like this. Remember this RAMDISK is unused RAM in this system otherwise. This begs the question of whether the RAMDISK is CPU limited. I'll test this later on.

System Performance:

-Boot-up times were recorded in various configurations(in order of time):

No pagefile and no RAMDISK - 1m26s(makes sense as this is the simplest configuration)
No pagefile and 1.25GB of system RAM - 1m33s*
4GB pagefile on hard drive and 1.25GB of system RAM - 1m33s
4GB pagefile on RAMDISK and 1.25GB of system RAM - 1m40s(23MB image of RAMDISK)
4GB pagefile on RAMDISK and 1.25GB of system RAM - 2m34s(512MB image of RAMDISK... I made the image file writable and it grew to 512MB, so I tested it just for a data point)

* - it should be noted that the system did load comparatively quickly. However I did get a message that I need to increase my swapfile size. Not all of the tray icons loaded at startup.

I would also like to mention that I did try Windows XPs built in compression to compress the 26MB image file(shrinks to 1.8MB), but there was no discernable performance difference.

It appears that there is a 7 second loss of boot time due to the RAMDISK being created and restored.

If I had chosen to have a 4GB image file to restore on every bootup, then it appears that my boot times would have been about 9 minutes. That is just a bit too slow for me. I'm glad that my little workaround works.

Usage Performance:

-I zipped a 1GB ISO file I copied to the I-RAM to minimize hard drive delays when compressing. I wanted to keep this test simple. I used 7-Zip to make a .7z file using LHMA compression, Ultra Mode, with a 100MB dictionary(except where noted). 7-Zip reports that about 1GB of RAM is needed to compress with my settings. I chose these settings to force the computer to use swapfile space when compressing the file using 7-Zip. Due to the way compression algorithms work, using anything slower than RAM for compression is going to significantly slow down the rate of compression. Listed in order by time:

4GB pagefile on RAMDISK - 7m5s
4GB pagefile on RAMDISK and 1.25GB system RAM - 7m20s
4GB pagefile on RAMDISK(128MB dictionary, 1.4GB RAM needed) - 7m42s
No pagefile and no RAMDISK - 8m4s
4GB pagefile on I-RAM and 1.25GB system RAM - 10m40s*
4GB pagefile on RAMDISK and 1.25GB system RAM(128MB dictionary, 1.4GB RAM needed) - 26m3s
4GB pagefile on I-RAM and 1.25GB system RAM(128MB dictionary, 1.4GB RAM needed) - Cancelled.. estimated time was at almost 1 day. There is no way any reasonable person would actually attempt to compress a 1GB ISO in a configuration such as this.*
4GB pagefile on hard drive and 1.25GB system memory - Cancelled.. estimated time was > 12 hours and climbing. It was only at 8% after 30 minutes. There is no way any reasonable person would actually attempt to compress a 1GB ISO in a configuration such as this.
No pagefile and 1.25GB of system RAM - Insufficient Free RAM.

* - I compressed the file on the hard drive vice the I-RAM because I was attempting to determine how much performance is lost using the I-RAM for a swapfile when the amount of RAM needed for compression exceeds the total system RAM.

Other things I did:

My ram is Patriot Extreme Performance PC2-6400. It is rated for 800Mhz @ 4-4-4-12 @ 2.2v. I decided to set my RAM timings to these speeds and test the performance of the RAMDRIVE.

800Mhz @ 4-4-4-12 - 4.17GB/sec to/from RAMDISK
800Mhz @ 5-5-5-15 - 4.14GB/sec to/from RAMDISK

A very slight performance increase is found. It is most likely within the tolerances of the test to be statistically insignificant.

Also, as found above it seemed as though the RAMDISK performance might be bottlenecked by the CPU. So I changed my FSB to 300Mhz, but left the RAM at 800Mhz.

Default speeds(266x9=2.40Ghz) - 4.1GB/sec to/from RAMDISK
300Mhz FSB(2.70Ghz processor) - 4.34GB/sec to/from RAMDISK

So it would appear that the CPU is the bottleneck for this application. It is most likely not RAM limited(although more tests would have to be performed to prove this) because the RAMDISK did not perform at the same speed, both times running at 800Mhz. The difference in performance between the 2 shows the overhead from RamDisk Plus. It seems logical to assume that the CPU is the bottleneck because software is simulating a disk.

Things I noticed:

I am curious as to why the 4GB pagefile on the RAMDISK was able to compress the ISO a full minute faster than with no pagefile at all. This seems quite strange to me. I did retest these 2 numbers later and achieved the same results.

I am also curious as to why putting the swapfile on the I-RAM instead of the RAMDISK was faster when the system has only 1.25GB of RAM. My impression is that this is due to where data is coming from/going to when I run my test. 7-Zip needs alot of RAM bandwidth for compression. The I-RAM, although slower in overall bandwidth, might not have been taxed heavily during the actual compression. Add to that the fact that the I-RAM uses the SATA bus, and my RAMDISK competes with the physical RAM for throughput during compression.

Final Thoughts:

I find that this setup is a very usable situation as a go-around for the 4GB barrier. Having 4GB of RAM at full speed, and 4GB at approximately 75% of full speed is about as good as I think I can ever expect. Unfortunately using a compression test was probably not the best way to determine the performance of the RAMDISK compared to physical RAM, it does show that there is some performance gain from using ia RAMDISK in this configuration.

I will admit that using this RAMDISK for a temp folder is another very good alternative, I'm not sure if I would want to use it as such. The temp folder would be erased on every reboot, which seems like a good idea. But there are alot of programs that extract to the temp folder on your computer, and keep files there even after reboot to finish a few small tasks on the bootup. If the temp folder is erased, then those final install steps would not occur. Also, some programs like WinZip compress files to your temp folder, then copy them to your destination location. If you have only 4GB and your temp drive fills, your compression will fail. Same is likely for video editing, large SQL database operations, etc. If this was not an issue for you, then you could set up a RAMDISK that does save on every shutdown, but you would also lose bootup time when the system must restore the RAMDISK.

So, this whole thread took me a whole day to set up and perform. Just as a disclaimer, I did not get paid by anyone to spend my time on this. I wanted to give the forums a little information i've gathered today.

I find it likely that SuperSpeed will makes some money off of this thread with all of this information I have posted. I think this is a great idea, but I probably will not be buying a copy just yet. But if SuperSpeed contacts me, I definitely won't turn down a free copy!
 

faster3200

Distinguished
Sep 4, 2008
287
0
18,780
Just to clear things up ramdisk just uses ram to make a hard drive you do not actually get access to more ram. It is no different having having a really fast hard drive.
 

cyberjock

Distinguished
Aug 1, 2004
305
0
18,780


If by "really fast" you mean 4.1GB/sec with nanosecond latency, then yeah.. you're right. However I don't know anyone that has any media anywhere that performs at those speeds.

And if by saying "It is no different having having a really fast hard drive." you really mean "It is no different having having a really fast hard drive with a pagefile on it", then yeah.. you're right on that too.

If you don't mean those things listed above, then you have a concept error on what I did.

But, i'm afraid you are missing the point of this test. You should reread my comments in "Things I noticed". In particular #1. That should at least peak your attention.
 

SizroSpunkmire

Distinguished
Sep 18, 2008
80
0
18,630
I must side with faster3200 on this one. It's an interesting experiment and one that is definetely unique!

You are right in the sense that a RAMDISK would be vastly superior to using a traditional harddrive, as the results of your benchmarks support.

However you missed the point in his reply that says ' you do not actually get more access to ram'. This experiment isn't related to the subject line that says 'interesting way to cheat the 4gb barrier'. Installing 8gb's of RAM into a system with a 32bit OS will still only utilize 4gb's. By using the RAMDRIVE idea you have found a way to make the remaining 4gb's USEFULL but not ADDRESSABLE as if it where actual RAM.

The system still has a 4gb limit to RAM with or without a RAMDISK and the location of the pagefile. My suggestion would be to rename the thread title to something that suggests ways to utilize available memory when you have more then 4gb in a 32 bit OS; as it stands now, it suggests that you're trying to increase the total addressable RAM.

But still, an interesting read.
 

cyberjock

Distinguished
Aug 1, 2004
305
0
18,780
Actually... you can address that space :). It's just that normally Windows does all the decision making on 'where and when' what data gets moved.

Look on the task manager under performance, and you'll see "Commit Charge". The Total is the total KB of RAM allocated, the limit is how much you can address, and the peak is the most you have used at any given time since bootup.

To Windows, any 'addressable' space is considered RAM(AKA swapfiles). Windows really does treat the space as RAM. Windows will not allow all data to be put in the swapfile. That's another discussion I'd rather not get into. Mostly because your concept of addressable is not accurate, and I'm not sure I could explain it very well.
 
anyone actually try what he's suggesting? I believe he works for the company and is hocking his software on these forums. Last I tried the free demo windows vista x64 would not allow me to move the ram disk to the page files. Not saying that it's not impossible just looking for someone other then OP that has actually done it with that software.
 

cyberjock

Distinguished
Aug 1, 2004
305
0
18,780
ROFL. Yeah. Of course I work for them..(sarcasm). Quite frankly, if I worked for them, do you really think I'd waste my time on Tom's Hardware trying to market a product?

Let's be serious here... Tom's Forums are dying, and trying to post an article to sell a software program isn't exactly a way to make alot of publicity for a company.

All I'm looking for is another way to increase performance on the cheap.

Since you want to be so skeptical, why don't YOU try out the program? Write us back and let us know how YOU did! They do 30 day free trials on the website.

If you bothered to read my other posts, you'd find I work at a nuclear power station. I have no formal education in programming. Self taught got me further than most of my friends...
 
Why not? even it's it is dying (hard to believe since you still post here) it's free and takes 2 seconds.

I don't care enough about you to go stalking your history. However there have been other posters about this program, One guy who actually wanted to charge me the info on obtaining it.

If you read the end of my post it says I have tried it. vista x64 would not allow me to move the page file to the virtual disk.
 

cyberjock

Distinguished
Aug 1, 2004
305
0
18,780



I could be mistaken, but doesn't that say move the ramdisk to the pagefile? That would be kind of pointless. I wasn't sure if you said it backwards on accident or on purpose(on purpose meaning you actually have no understanding whatsoever of what I was trying to accomplish). Regardless, if you meant you couldn't move the pagefile to the ramdisk, that is because this feature just showed up with 9.0.3. :) I looked at 9.0.2, but attempting to put a pagefile on a ramdrive created from normally accessible memory(below 4GB) would be completely foolish.

I just want to mention that I'm not trying to start a flamewar with you, I just question alot of comments on this Forum. When someone says something that sounds really stupid, they probably really ARE that stupid. I generally try to correct them only if I think they'll actually understand and learn from what I have to say. If your comment was an honest typo, then I apologize.

I've actually decided that with my new Intel Core i7 computer, I'll be putting in 8GB of RAM and running Windows XP 32-bit on it with this configuration. =).

 

altitudegeek

Distinguished
Jan 30, 2009
3
0
18,510
I had a similar idea the other day, started researching and came across ramdisk too. A brief google for others using it for swap space revealed your post along with a couple of others.
I'd be interested to know how stable your system has been since using this setup?

Oh, and after reading a few other posts, I found this useful tip:

Start -- Run -- Regedit [open] goto HKEY_LOCAL_MACHINE --> SYSTEM --> CurrentControlSet --> Control --> Session Manager --> Memory Management --> [doubleclick] ClearPageFileAtShutdown and change option to "1" and click OK. The reason being the RAM will be purged when you power off, and there's no point with the system thinking the Pagefile will be available cached at boot.
 

cyberjock

Distinguished
Aug 1, 2004
305
0
18,780


I have been running it on 3 machines now. I run it on a file server/vmware server that runs 24x7 and 2 desktops that see regular use. None of them have had any issues and work great.
 

joepostal

Distinguished
Aug 21, 2009
1
0
18,510
I have never posted here and I am a very very long time computer performance enthusiast. I have 4 gb of ram on my pos work computer. You doubters seem like a religious bunch lol.

The dell I use at work can't access extended memory and I have watched it for weeks. The available ram never falls below 50%, NEVER. So WTF is XP doing with that other 50% of memory? Well it turns out that something stupid is happening in XP. XP is a decent operating system but still tries to conserve ram and in the process wastes valuable time swapping,,,ALL THE TIME!

I am certain that cyberjock's setup kicks ass and opening 30 or 40 programs on that system would be trivial and fast.

I know if your working on files that are larger than your swapfile you have a problem. Most people are not editing HD video and really only need a modest amount of ram. If your playing a mmrpg you could just copy the whole folder to a ram disk.

I suggest you set your swapfile on the fastest thing you can find. Your ram is kind of fast...

In windows98 the single most impressive increase in performance was to set conservativeswapfileusage=1 and it sucks that they lost this favorable setting in XP.

I personally set the swap file to use 2MB and able to grow 3GB on drive C: and set the ramdisk to 200MB and 1GB. This way I am trying to get XP to use the ramdisk before using C: and I have plenty of swap space as well as letting the background processes shrink the file if noting is going on. Yeah I let it grow and shrink. I can close all my programs and defrag.

Every computer I have ever used I have ran as many programs as the thing could handle. That is just the nature of the beast. Yeah my work computer is slow but it is slightly faster by using a ramdisk for a swap file in XP even though 1gb of regular ram is not available to XP putting the swap file in that 50% of ram that XP refuses to use has improved performance..

Now when I watch the available memory it will go down to about 6%. The real problem is XP doesn't use memory as much as it decides to swap...
 
kind of a thread necro, but...

I think the point trying to be made by the 'doubters' is pretty simple: Setting up unused RAM as a RAMdrive =/= circumventing the desktop limit for memory.

It *is*, however, a very ingenius way to obtain value as a very fast swap file or (potentially, if you have enough extra) as a very fast drive to run your (game) from, using system resources which would otherwise be wasted.


...though if you install your games there, don't shut your PC off ;)
 
I guess it depends on what you mean by "desktop limit for memory". If you mean that you can't extend the amount of RAM that an application can access, you're right. But if you mean keeping as many applications in memory as possible, even to the extent that you have more than 4GB of applications and data in memory, then a RAMdisk used as the pagefile actually does do the trick. And the "trick" is that while Windows doesn't think it's "memory", in fact it is...
 
...which is the point: At that level, it has become a really, really fast pagefile.



I'm not doing this to bust ballz, so pardon drawing such a hard line on what is and is not memory: This has been a long, long, LONG running battle. I'm also not saying this isn't a VERY ingenius way of accessing resource which might otherwise be unavailable. I'm not saying it isn't a good idea for this willing to excercise their technical chops and spend $49 for the ramdisc software. Just that pagefile =/= system RAM, even in cases like this one where you are using unallocated space on your DIMMS to create a RAMDrive which you then assign swapfile duty.


If you want to circumvent the 32 bit desktop limit for memory, you hack the licencing to tell the OS it's a Server edition instead of a desktop one. Then you can utilize PAE. (...being aware, of course, that there are still application based limits, that your drivers need to be able to access the additional space, and that even with that individual apps may still only access 4GB of contiguous space anyhow. These are limitations many/most of the posters here likely would not want/be able to manage. IMHO, it's much, much easier to just use a 64 bit desktop OS.)