RAM Drive Advice

Associate
Joined
11 Oct 2007
Posts
1,287
I remember reading a few months ago that someone could reserve some of its memory to use as a RAM disk. Anyone knows how to do it?

I have 4GB of RAM on XP 32 and i thought to create a 1GB ram disk to use as Cache. Would i notice a difference compared to my hard disk based cache now?
 
you can download RAMDrive from Qsoft which will create a "hard disk" out of some of your RAM.. Enterprise version is free if you can put up with the odd annoying popup.. tbh for day-to-day use on a modern machine you wont notice the difference in performance..
 
I am talking about Virtual Memory, sorry i wasnt clear enough about it...

BTW are there any free and good utilitites that create RAM disks?

Ummm... Virtual memory is by definition memory other than physical memory, but that appears as though it is to applications. It is by definition a compromise, slower than real physical memory.

Why do you want to turn 1GB of perfectly good physical memory into a RAM disk, in order to reclaim it again as approximately 1GB virtual memory? So you lose 1GB of physical memory, and gain (slightly less than) 1GB of virtual memory... you end up with approximately the same amount of memory, just slower... There is no benefit to be had in this way.

What you can do however, is to (for example) take 1 or more fast flash cards (for example Sandisk CF Extreme IV) and use it for your swapspace. But even that will be nowhere near as fast as just adding the same amount of physical RAM to your PC. (But it might be a good compromise if you need to have 16GB of available address space but can't afford 16GB of physical memory, for example...)
 
Last edited:
RAM disks are useful for HD intensive tasks... you get serious read/write speed out of them although obviously they are limited by the avaliablity of RAM in your machine..

My RAM Disk Reads/Writes at around 3000MB/s
 
Since he's running XP32 and has 4GB, then he's really only getting the use of 2GB unless he has the /3GB in his boot.ini as 3GB is the maximum addressable memory that XP32 can handle. Using 2GB as a ramdrive and putting his swapfile or as the system temp folder is a good use of memory sitting around doing nothing.

Microsoft's Answer
 
Since he's running XP32 and has 4GB, then he's really only getting the use of 2GB unless he has the /3GB in his boot.ini as 3GB is the maximum addressable memory that XP32 can handle. Using 2GB as a ramdrive and putting his swapfile or as the system temp folder is a good use of memory sitting around doing nothing.

Microsoft's Answer

Ummm no. Read it again, you're getting confused between an applications virtual address space, and the addressable memory of the system. The /3GB applies to the 4GB (virtual) address space allocated to *each* application. Normally this is split 50/50, which means 2GB is allocated for system use, and 2GB is allocated to app use. However, you can run more than one application (obviously) on your system, which means the system as a whole can use more than 2GB even on Windows 32-bit, up to what the system can address.

Now, Windows 32-bit XP can address up to 4GB of physical memory. Of that, something around 3.2GB - 3.5GB will be *usable* by applications (and, by default, as per the above, up to 2GB per application.) If you add the /3GB switch, then that affects the application virtual 4GB address space, which splits it into 3GB/1GB, and will do nothing to help you address more memory from a system wide perspective, that is still limited to 4GB. The simple fact is, the system can address up to 4GB, from which is subtracted address ranges for things like:
* System ROM
* APIC(s)
* Integrated PCI devices, such as network connectors and SCSI controllers
* PCI cards
* Graphics card
* PCI Express cards (if applicable)
Thus, the RAM usable/visible by the OS will therefore in reality depend on the hardware you have installed on your machine. And as I say, typical values today is around 3.2GB up to about 3.5GB usable address space (and consequently RAM, if you have that much RAM in your machine.)

Now, all of this has nothing do do with the original posters question, as any RAM drive he creates, must come out of the possible usable 4GB addressable space, if running under Windows XP 32bit. In fact even worse, if it's a normal application, your RAM drive app can only allocate itself up to 2GB of memory, limiting the maximum size of the RAMDrive!

Now the only exception here, as per the page you cite, is *IF* and only if, he runs Windows Server 2003 Enterprise or Datacenter editions with PAE extensions then he can use up to 32GB or 64GB of RAM respectively. This is a bit like XMS was in the days of the PC/XT, where RAM is paged into the possible address space in chunks etc. Not really nice. It was a stopgap solution prior to the release of proper 64-bit versions of Windows.

I thus re-iterate, there is no benefit to be had, from creating a RAM drive with the idea of swapping to it and particularly not on Windows XP 32-bit.
 
Last edited:
Since he's running XP32 and has 4GB, then he's really only getting the use of 2GB unless he has the /3GB in his boot.ini as 3GB is the maximum addressable memory that XP32 can handle.
That's not quite right. Due to memory address restrictions on 32-bit Windows will "see" roughly 3.2-3.5GB of those 4GB, and the system will be able to use all of those 3+ GB of memory as it sees fit. What is the case is that each individual application won't be able to address more than 2GB of memory without the /3GB switch in the boot.ini file as well as having been created in a way that tells Windows that the application supports memory addresses larger than 2GB. Most applications don't (probably because not many actually need to) so they wouldn't be able to use more than 2GB even with the /3GB switch.

If we say there is 0.5GB of unused memory (in the above case) then there is no way Windows can address this memory, and a RAM disk utility would not be able to get to this memory and somehow make it useful. As ByteJuggler says, there is no benefit in using a RAM disk for virtual memory - Windows is better off having access to the memory as normal memory, reducing the need to use virtual memory in the first place.

Memory Limits for Windows Releases at Microsoft shows various tables of physical and virtual memory address limits.
 
Back
Top Bottom