Virtual memory is a common part of most operating
systems on desktop
computers. It has become so common because it provides a
big benefit for users at a very low cost.
In this edition of HowStuffWorks,
you will learn exactly what virtual memory is, what your
computer uses it for and how to configure it on your own
machine to achieve optimal performance.
More Computer
Memory!
This article is
one in a series of articles dealing with computer
memory, including:
What is Virtual Memory? Most computers today
have something like 32 or 64 megabytes of
RAM available for the CPU
to use (see How
RAM Works for details on RAM). Unfortunately, that amount
of RAM is not enough to run all of the programs that most
users expect to run at once.
For example, if you load the operating
system, an e-mail
program, a Web browser and word processor into RAM
simultaneously, 32 megabytes is not enough to hold it all. If
there were no such thing as virtual memory, then once you
filled up the available RAM your computer would have to say,
"Sorry, you can not load any more applications. Please close
another application to load a new one." With virtual memory,
what the computer can do is look at RAM for areas that have
not been used recently and copy them onto the hard
disk. This frees up space in RAM to load the new
application.
Because this copying happens automatically, you
don't even know it is happening, and it makes your computer
feel like is has unlimited RAM space even though it only has
32 megabytes installed. Because hard disk space is so much
cheaper than RAM chips, it also has a nice economic benefit.
Speed Concerns The read/write speed of a
hard drive is much slower than RAM, and the technology of a
hard drive is not geared toward accessing small pieces of data
at a time. If your system has to rely too heavily on virtual
memory, you will notice a significant performance drop. The
key is to have enough RAM to handle everything you tend to
work on simultaneously -- then, the only time you "feel" the
slowness of virtual memory is is when there's a slight pause
when you're changing tasks. When that's the case, virtual
memory is perfect.
When it is not the case, the operating system has to
constantly swap information back and forth between RAM and the
hard disk. This is called thrashing, and it can make
your computer feel incredibly slow.
The area of the hard disk that stores the RAM image is
called a page file. It holds pages of RAM on the
hard disk, and the operating system moves data back and forth
between the page file and RAM. On a Windows machine, page
files have a .SWP extension.
Configuring Virtual Memory Take Windows 98
as an example of a typical operating system that has virtual
memory. Windows 98 has an intelligent virtual memory
manager that uses a default setting to help Windows
allocate hard drive space for virtual memory as needed. For
most circumstances, this should meet your needs, but you may
want to manually configure virtual memory, especially if you
have more than one physical hard drive or speed-critical
applications.
To do this, open the "Control Panel" window and
double-click on the "System" icon. The system dialog window
will open. Click on the "Performance" tab and then click on
the "Virtual Memory" button.
Click on the option that says, "Let me specify my own
virtual memory settings." This will make the options below
that statement become active. Click on the drop-down list
beside "Hard disk:" to select the hard drive that you wish to
configure virtual memory for. Remember that a good rule of
thumb is to equally split virtual memory between the
physical hard disks you have.
In the "Minimum:" box, enter the smallest amount of hard
drive space you wish to use for virtual memory on the hard
disk specified. The amounts are in megabytes.
For the "C:" drive, the minimum should be 2 megabytes.
The "Maximum:" figure can be anything you like, but one
possible upper limit is twice physical RAM space. Windows
default is normally 12 megabytes above the amount of physical
RAM in your computer. To put the new settings into effect,
close the dialog box and restart your computer.
The amount of hard drive space you allocate for virtual
memory is important. If you allocate too little, you will get
"Out of Memory" errors. If you find that you need to keep
increasing the size of the virtual memory, you probably are
also finding that your system is sluggish and accesses the
hard drive constantly. In that case, you should consider
buying more RAM to keep the ratio between RAM and virtual
memory about 2:1. Some applications enjoy having lots
of virtual memory space but do not access it very much. In
that case, large paging files work well.
One trick that can improve the performance of virtual
memory (especially when large amounts of virtual memory are
needed) is to make the minimum and maximum sizes of the
virtual memory file identical. This forces the
operating system to allocate the entire paging file when you
start the machine. That keeps the paging file from having to
grow while programs are running, which improves performance.
Many video applications recommend this technique to avoid
pauses while reading or writing video information between hard
disk and tape.
Another factor in the performance of virtual memory is the
location of the pagefile. If your system has multiple
physical hard drives (not multiple drive letters, but actual
drives), you can spread the work among them by making smaller
pagefiles on each drive. This simple modification will
significantly speed up any system that makes heavy use of
virtual memory.
For more information, check out the links on the next page.