Have you used (or are using) RAMDisk?

cbn

Lifer
Mar 27, 2009
12,968
221
106
Have you used (or are using) RAMDisk?

If so, which programs did (do) you use how did (do) you like it?
 

BonzaiDuck

Lifer
Jun 30, 2004
15,730
1,457
126
In short, No. If I were inclined to use it, I might look at this as I pursued a search and a choice:

Primo Ramdisk

I only say that, because I DO use THIS:

PrimoCache

To save words here, there is a current thread about using hard disks as boot-system disks, and another one which I started entitled "Bad-ass Caching . . . . "

But RAM disk is one thing -- caching is another . . .
 

BSim500

Golden Member
Jun 5, 2013
1,480
216
106
Have you used (or are using) RAMDisk?

If so, which programs did (do) you use how did (do) you like it?
I tried a large RAMDisk and quite honestly it isn't worth it. My findings:-

1. If you switch your computer off every night then you're basically going to have to install / copy the game over anyway every day. Total loading time = copy time from HDD/SSD to RAMDisk + the time when you start the game off the RAMDisk + the extra "human time" you spend setting it up is actually longer than just running it off an SSD.

2. Exponentially depreciating gains. An 80% reduction from say 75s (5,400rpm HDD) to 15s (SSD) feels huge. But a further 2% reduction from 15s (SSD) to 14.7s (RAMDisk) is simply not noticeable in real life, especially if 11s of both involves unskippable intro movies, epilepsy warnings, etc. I have one smallish 1.6GB game that takes 34s to load on a 5,400rpm HDD and yet still 29-30s on a RAMDisk / SSD. Why? It's an endless string of intro movies you can't skip. Biggest advantage vs HDD's is access time, and SSD's give that already.

3. Whenever you access any file, you're loading it into the Windows file cache anyway. So when you copy a file from SSD to RAMDisk, you're actually making two copies : 1. RAMDisk and 2. Windows file cache. And the first place Windows looks is the latter. So in many cases, people with say 32GB RAM who've just copied a 5GB game from SSD to an 8GB RAMDisk are actually not starting it from the RAMDisk but the Windows cache that sits in the unused 24GB RAM. And that caches not just the game specific files, but other supporting files (eg, DirectX, Open GL/AL, PhysX, etc, libraries & GFX card drivers / dll's in the Windows\System folders). That's what the "Standby" figure represents in Resource Monitor's "Memory tab". This is the paradox of "Gaming RAMDisks" - larger +50-60GB games won't fit but smaller ones will be small enough they'll be read from the Windows cache and not the RAMDisk. Same goes for putting pagefile on a RAMDisk, all people are doing is caching RAM into RAM.

4. Games are getting larger than RAMDisks can handle. With +20-50GB game installs becoming more common, it's already getting pretty ridiculous and expensive to buy 64-128GB RAM to try and keep up with the "rat race". A far more sensible cost-effective alternative for those with +1TB of games installed on a HDD is use a cheap 256GB SSD as a system + cache drive or do it manually with something like SteamMover just for currently played game.

5. RAMDisks still don't solve the problem of internal game engine bottlenecks. There are two type of I/O bottlenecks - hardware (can't pull data off a disk fast enough) and software (the game engine itself limits how much it WANTS to demand at any one time). The latter is what caused all the chronic stutter in early releases of Bioshock Infinite and Deus Ex: Human Revolution even on super fast SSD's. When the games were later patched, most of that stutter disappeared even on mechanical HDD's. All the RAMDisks in the world will not cure a badly optimized game, and there are plenty of those still around.

6. Synthetic CrystalDiskMark number are wildly misleading as there's more to games than transfer alone. You can see for yourself by watching your HDD activity LED flicker during game load times, how a lot of that "wait" on a fast SSD isn't waiting on the drive but other stuff. Eg, when you load a game, a chunk will be loaded from disk, then decompressed, then something initialized, then another chunk loaded, etc. This is why CrystalDiskMark benchmarks showing RamDisks to be 10x faster than SSD's are pointless. Pulling a continuous chunk of data like a pure sequential / Q32 random file copy doesn't remotely reflect how games initialize themselves.

Bottom line : If you never reboot your system, play only the same small game over & over, day after day, can't afford a large SSD yet simultaneously happen to have +32GB of expensive RAM lying around unused there's probably some value in RAMDisks for gaming to some people. The only real practical use I found for a RAMDisk (which I'm still using) was as a 0.5-1.0GB web browser cache for heavy daily browsing sessions, and even then most of that benefit was less about web page loading performance and more about reducing long-term SSD fragmentation.
 
Last edited:
  • Like
Reactions: DaveSimmons and cbn

Red Squirrel

No Lifer
May 24, 2003
67,478
12,175
126
www.anyf.ca
I use one for my home environmental server but it's not so much for the speed, but to avoid wear and tear on the SSD. The way my system works is that sensors are polled at ~1sec intervals and the value is written to a file, then various programs can read/write these files. So it creates a situation where you have tons of writes to a tiny file which would absolutely murder a SSD in a matter of years, and probably cause a HDD to thrash too much. There may have been a better way to do it, but figured it was a nice way of doing it as it's rather expandable. I can have various other things read/write to that disk too and the monitoring program can then read it and do what it needs.

What would actually be awesome to see is a ram based hard drive that has battery backup. Or even super capacitor backup. It would thrive in 24/7 server operations but still have a grace period if the system goes down. Imagine a raid array of those. :D
 

cbn

Lifer
Mar 27, 2009
12,968
221
106
Bottom line : If you never reboot your system, play only the same small game over & over, day after day, can't afford a large SSD yet simultaneously happen to have +32GB of expensive RAM lying around unused there's probably some value in RAMDisks for gaming to some people.

I do agree it seems a bit ironic to go RAMDisk over SSD when conventional RAM pricing is factored in.

However, I am now using a E5 Xeon which allows me to use Surplus ECC RDIMMs which are really cheap (32GB for $40 to $42 shipped on ebay for a matched 8 x 4GB DDR3 ECC RDIMM kit).

With that mentioned, I do wonder if 64GB is what I really would want for this? Unfortunately the 8 x 8GB ECC RDIMM kits are a bit more expensive per GB at this time (about $135 shipped for a matched set).
 

cbn

Lifer
Mar 27, 2009
12,968
221
106
I use one for my home environmental server but it's not so much for the speed, but to avoid wear and tear on the SSD. The way my system works is that sensors are polled at ~1sec intervals and the value is written to a file, then various programs can read/write these files.

Home environmental server? That sounds very interesting. Can you explain more on what this does?
 

Red Squirrel

No Lifer
May 24, 2003
67,478
12,175
126
www.anyf.ca
Home environmental server? That sounds very interesting. Can you explain more on what this does?

Basically home automation, but for me it's mostly sensors so it monitors stuff. Temperature, mouse traps, AC power, UPS battery voltage etc. I actually have plans to expand it as it's not really that modular at this point. I have an arduino and it has normally open/normally closed contact points that go to sensors around the house for various stuff. There's also another board for the furnace as I wrote my own thermostat system. I work shifts so wanted something fully customizable with different schedule profiles etc.
 
  • Like
Reactions: cbn

nopainnogain

Member
Sep 13, 2016
76
29
61
The only real practical use I found for a RAMDisk (which I'm still using) was as a 0.5-1.0GB web browser cache for heavy daily browsing sessions, and even then most of that benefit was less about web page loading performance and more about reducing long-term SSD fragmentation.
This.

I use mine to hold the browser cache and the temp files. I chose ImDisk because it is able to allocate memory dynamically, which makes much more sense.
 

cbn

Lifer
Mar 27, 2009
12,968
221
106
Basically home automation, but for me it's mostly sensors so it monitors stuff. Temperature, mouse traps, AC power, UPS battery voltage etc. I actually have plans to expand it as it's not really that modular at this point. I have an arduino and it has normally open/normally closed contact points that go to sensors around the house for various stuff. There's also another board for the furnace as I wrote my own thermostat system. I work shifts so wanted something fully customizable with different schedule profiles etc.

Sounds Amazing. :thumbsup:
 

tynopik

Diamond Member
Aug 10, 2004
5,245
500
126
I had a ramdisk for one particular program that absolutely THRASHED the drive for some reason. The dataset it was working with wasn't that large, but cache never seemed to pick it up even though it could have easily fit in memory.

so everytime i wanted to use it, i would crank up the ramdisk and copy it there and then run it

it worked great for that use case, startup would go from ~20 min to 30 sec

but once i stopped using that program, the ramdisk went away too

not sure, but think it was some variant of Gavotte RAMDisk
http://www.jensscheffler.de/using-gavotte-ramdisk-in-windows-7
 

cbn

Lifer
Mar 27, 2009
12,968
221
106
I had a ramdisk for one particular program that absolutely THRASHED the drive for some reason. The dataset it was working with wasn't that large, but cache never seemed to pick it up even though it could have easily fit in memory.

so everytime i wanted to use it, i would crank up the ramdisk and copy it there and then run it

it worked great for that use case, startup would go from ~20 min to 30 sec

but once i stopped using that program, the ramdisk went away too

not sure, but think it was some variant of Gavotte RAMDisk
http://www.jensscheffler.de/using-gavotte-ramdisk-in-windows-7

Thanks for the info. Unfortunately I couldn't find the Gavotte RAMDisk website....and that link you provided indicates that it doesn't exist anymore. That is too bad.

P.S. Interesting that Gavotte RAMdisk allows 32 bit systems to use the full 4GB of RAM via PAE.
 

BonzaiDuck

Lifer
Jun 30, 2004
15,730
1,457
126
I have to add simply a benign comment about this. You are using RAMDisk software and copying files from a slow device to the RAMDisk so you get faster access and quick response. And we're looking at CrystalDiskMark benchies to show how that access speeds up.

Surely there are some uses or cases when a RAMDisk storage volume is desired.

But for anything else -- speeding up access to storage to programs or files -- I just think a RAM-cache with an option of SSD-cache is better.

It is true that the benchies I might link here are due mostly to the RAM-cache and much less to the SSD-cache, but it is a logical expectation when you understand the PrimoCache up to v.2.7 does its SSD-caching by stealth during idle -- and after you would want to benchmark it or even have expectations for it at all.

I've taken these benchmarks with Crystal, AS SSD, ATto, Anvil and Samsung Magician. They are fairly consistent, so here's the one I find right away with Anvil:

5,400 RPM 2.5" 2TB HDD cached to RAM and NVMe SSD:

HDD_NVMe_shared_2GB_RAM.jpg


That is only the configuration that caches the Barracuda to RAM and SSD. It's benefits will not show up in benchmarks for PrimoCache 2.7 for reasons I explained. In version 3.0, Romex will implement write-caching to the SSD, so that the result will actually show in the benchmarks.

But since we're comparing RAMDisk benchies to RAM-caching benchies in a thread about RAMDisk, no problem with that at all.

The high write scores mean that I configured the test-case caching for Deferred Writes. It will otherwise drop to what you would expect for a standard SATA-III 5,400RPM HDD. As is my own plan, I would only use the deferred-write setting once you've completed all the other tweaks to your UPS-backed-up system and deemed it as good as perfect. I would not use it for caching the OS-boot-system volume. And you would have your OS installed on either SATA or NVMe as common sense. read-caching is perfectly great for that aspect.

Since you might use as much RAM as possible for a RAMDisk, or you might incline toward it marginally, then the same logic applies to RAM-caching. But you would set the size of a RAM-cache to match the size of the largest files you might frequently load either under mainstream usage, or with some specialized application that works with large files. So it may be that 3 or 4GB of RAM-cache is as much as you'd ever need.

Advantages over RAMDisk? Could depend on your usage, but first of all -- you don't need to create the RAMDisk and load files to it at every boot session. Of course -- MAYBE some RAMDisk software allows you to save contents to persistent storage and load it back into memory at boot-time. I can only say that PrimoCache does that too, without a hitch. An increase in boot-time is nothing compared to the performance boost throughout a boot-session of a few hours or more. And if you hibernate your system, what was in RAM that wasn't configured to "pre-fetch last cache" at boot-time isn't necessary. Hibernate saves all of the cache, just as it does with everything else.