RAM Disk
May 25, 2005 12:13 PM   Subscribe

Back in the dear dead days of DOS, I used to speed up things by creating a virtual disk in memory so that searches and other disk-I/O-intensive operations would run faster. In later version of DOS, there was a RAMDrive command. Is there an equivalent utility in Win XP (Home or Pro) to park Temp files and similar items in a lettered drive in RAM? Or does Windows take care of that automatically?
posted by KRS to Computers & Internet (10 answers total)
 
This would be done automatically now. It's the paging file. To modify the parameters of the pagefile right click on "My Computer" -> Choose "Properties" -> click the "Advanced" tab -> Clock "Settings" button in the "Performance" section -> click the "Advanced" tab, and finally click the "Change" button under virtual memory.

For performance I usually set the paging file to a fixed size with the lowest size being whatever my RAM size is, and the highest size being double of my RAM.

For even more performance it is suggested to have the paging file on a seperate physical hard drive than where your system/applications are installed. NOT a seperate parition.
posted by mnology at 12:31 PM on May 25, 2005


You can still set up a RAM drive for XP, but that just hastens the time when you'll need to start paging RAM out to disk, which makes it somewhat counterproductive given how fast hard disks are today.
posted by kindall at 12:45 PM on May 25, 2005


mnology, the paging file is the exact opposite of what KRS is asking about. It is memory contents cached to the hard drive when physical memory is full.

Microsoft released a tech demo for Win2k implementing a ramdrive, along with the source for it.

A company called Qualitative released a more fleshed out version. The free version is limited to 64mb, however.

If you don't have any FAT hard drives, this will not work. If you have this problem, you have to modify the registry (with all the caveats that entails). Go to HKLM\SYSTEM\CurrentControlSet\Services\Fastfat
and change the "Start" value from 4 to 1.

And as kindall says, the performance difference will not be nearly as large as you remember from your dos days.
posted by addyct at 12:54 PM on May 25, 2005


Windows XP is fairly efficient at using all of your unused RAM for disk cache already, which accomplishes a similar object without the attendant problems with RAM disks (both decreasing your available RAM and the pain in managing it).
posted by grouse at 1:04 PM on May 25, 2005


D'oh! KRS, mind if I inquire as what you would like to use this for? Is it just to eek out a few more milliseconds of overall performance, or is this for a specialized application? Kind of like a scratch disk(Photoshop, DAW apps ) but in RAM.
posted by mnology at 1:36 PM on May 25, 2005


I agree that this won't improve performance much. Windows will automaticaly cache all the files it needs to into RAM.
posted by delmoi at 1:47 PM on May 25, 2005


For performance I usually set the paging file to a fixed size with the lowest size being whatever my RAM size is, and the highest size being double of my RAM.

actually, for best performance you should set the minimum and maximum sizes to the same value.
posted by mcsweetie at 3:07 PM on May 25, 2005


If you don't mind, I'd like to piggyback onto this question with this -- In order to reduce battery consumption when I'm watching videos on my laptop, is there anyway to copy them to memory first so that there is not so much disk usage?
posted by coriolisdave at 3:52 PM on May 25, 2005


grouse is right: Windows XP has a "system cache" that uses otherwise unused RAM (above that which your running programs are using) to cache recently accessed files from the disk.

As a test, try this: copy a large file (say 100MB) from one directory to another. Now delete it, and copy it again. Assuming you have lots of memory in your machine that's not in use, the second copy should go noticeably faster, because the OS is now reading the file from the RAM-based system cache, not the hard drive.

There's a setting you can use to make your computer allocate more memory for the system cache than it normally would. The details are in MS Support Article 895932. If you have lots and lots of free RAM when running your normal applications, you could try turning this on. File servers use this setting because they want to speed up disk I/O, not leave lots of room for applications that no one will be running on the server itself.

coriolisdave: I guess you could try copying the files once before you play them?

As an aside, I used to run the entire OS and applications from a RAM disk on my PowerBook Duo back in the day. I'd boot, copy a minimal System 7 OS and a few apps to the RAM disk, set it as the startup disk, and reboot. As I recall, it could run for a long time, at the peril of losing whatever I was working on if the battery died.
posted by jmcmurry at 5:09 PM on May 25, 2005


Just as a similar aside, a friend of mine once showed me that it was possible to run an entire NT4 domain server in memory, by the simple expedient of yanking the hot-swap system disk out while the machine was running.
posted by coriolisdave at 5:13 PM on May 25, 2005


« Older wtf is up with government agencies with names?   |   Sparring equipment Newer »
This thread is closed to new comments.