Tuesday, 30 August 2011

Setting Up Swap Space


                                 Normally, there are only two steps to setting up swap space,creating the partition and adding it to /etc/fstab. A typical fstab entry for a swap partition at /dev/hda6 would look like this:
/dev/hda6
swap
swap
defaults
0
0

The next time you reboot, the initialization scripts will activate it automatically and there's nothing more to be done.

However, if you want to make use of it right away, you'll need to activate it maually. As root, type:
mkswap -f /dev/hda6
swapon /dev/hda6
Swap Files
There might be times when you've run out of swap space and it is not practical to repartition a drive or add a new one. In this case, you can use a regular file in an ordinary partition. All you have to do is create a file of the size you want

dd if=/dev/zero of=/var/my_swap bs=1024 count=131072
and activate it
mkswap -f /var/my_swap
swapon /var/my_swap

This invocation creates a file called
my_swap in /var. It is 128 Mb long (128 x 1024 = 131072). Initially, it is filled with zeros. However, mkswap marks it as swap space and swapon tells the kernel to start using it as swap space. When you are done with it,
swapoff /var/my_swap
rm /var/my_swap
Multiple Swap Areas
More than one swap partition can be used on the same system. Consider an example fstab where there is a single swap partition:
/dev/hda5
/
ext3
defaults
1
1
/dev/hda1
/boot
ext2
defaults
1
2
none
/dev/pts
devpts
gid=5,mode=620
0
0
none
/proc
proc
defaults
0
0
/dev/hda7
/usr
ext3
defaults
1
2
/dev/hda6
swap
swap
defaults
0
0


Imagine replacing the entry for the swap partition with these three lines:
/dev/hda6
none
swap
sw,pri=3
0
0
/dev/hdb2
none
swap
sw,pri=2
0
0
/dev/hdc2
none
swap
sw,pri=1
0
0

This configuration would cause the kernel to use /dev/hda6 first. it has the highest priority assigned to it (pri=3). The maximum priority can be 32767 and the lowest 0. If that space were to max out, the kernel would start using /dev/hdb2, and on to /dev/hdc2 after that. Why such a configuration? Imagine that the newest (fastest) drives are given the highest priority. This will minimize speed loss as swap space usage grows.

It is possible to write to all three simulataneously. If each has the same priority, the kernel will write to them much like a RAID, with commensurate speed increases.
/dev/hda6
none
swap
sw,pri=3
0
0
/dev/hdb2
none
swap
sw,pri=3
0
0
/dev/hdc2
none
swap
sw,pri=3
0
0

Notice that these three partitions are on separate drives, which is ideal in terms of speed enhancement.

0 comments:

Post a Comment