Swap Space

What is Swap Space?

Swap space in Linux is used when the amount of physical memory (RAM) is full. If the system
needs more memory resources and the RAM is full, inactive pages in memory are moved to the
swap space. While swap space can help machines with a small amount of RAM, it should not
be considered a replacement for more RAM. Swap space is located on hard drives, which have
a slower access time than physical memory.
Swap space can be a dedicated swap partition (recommended), a swap file, or a combination of
swap partitions and swap files.
Swap should equal 2x physical RAM for up to 2 GB of physical RAM, and then an additional 1x
physical RAM for any amount above 2 GB, but never less than 32 MB.
So, if:

M = Amount of RAM in GB, and S = Amount of swap in GB, then

If M < 2
S = M *2
Else
S = M + 2

Using this formula, a system with 2 GB of physical RAM would have 4 GB of swap, while one
with 3 GB of physical RAM would have 5 GB of swap. Creating a large swap space partition can
be especially helpful if you plan to upgrade your RAM at a later time.
For systems with really large amounts of RAM (more than 32 GB) you can likely get away with a
smaller swap partition (around 1x, or less, of physical RAM).

Creating a Swap File.

To add a swap file:
1. Determine the size of the new swap file in megabytes and multiply by 1024 to determine the
number of blocks. For example, the block size of a 64 MB swap file is 65536.
2. At a shell prompt as root, type the following command with count being equal to the desired
block size:
dd if=/dev/zero of=/swapfile bs=1024 count=65536
3. Setup the swap file with the command:
mkswap /swapfile
4. To enable the swap file immediately but not automatically at boot time:
swapon /swapfile
5. To enable it at boot time, edit /etc/fstab to include the following entry:
/swapfile swap swap defaults 0 0
The next time the system boots, it enables the new swap file.
6. After adding the new swap file and enabling it, verify it is enabled by viewing the output of the
command cat /proc/swaps or free.

No comments: