To figure out whether virtual memory makes sense, you have to look at the following factors:
- RAM size
- Disk size
- RAM speed
- Disk speed
It’s the relationship between these values that matter. (All of these are considered in the context of a fifth factor: price. For example, you can usually find a way to buy more RAM, but it may mean replacing the motherboard, switching to a 64-bit OS, etc.)
In the last decade or two, we’ve seen RAM and disk sizes grow steadily. RAM speed has increased quite a bit, as well, but disk speed has lagged behind. For example, in 1994 I bought a PC for personal use for $3000. Of that, and $1000 was for a 1 GB hard drive (I don’t know the speed, let’s guess 5400 RPM). I had 16 MB of RAM, and 33 MHz front-side bus.
Today, if I try to spend the same money on a PC, it’s pretty hard to do. If I adjust for today’s dollars, it’s even harder. But we can look at a high-end PC today. Let’s say 4 GB RAM, 500 GB hard drive @ 7200 RPM, 800 MHz FSB. This PC will probably cost $800-$1000. So, by comparison:
HD size 500X
RAM size 256X
HD speed 1.3X
RAM speed 24X
As you can see, price has dropped dramatically, the HD and RAM sizes have grown at close to the same rate, but their relative speeds have not.
So, I ask, why is virtual memory still ubiquitous? If I have 4 GB of RAM, I probably only need the virtual memory if I’m doing “big” things, like compiling all of Visual Studio or editing video.
Perhaps what’s missing here is something in between. Some kind of solid-state storage, faster than hard disk, cheaper than RAM. Making up numbers, give me 24 GB of it today, at 100X the speed of a HD, for $100. Use it for page file, and perhaps HD caching.