Swap

 

Swap

 

Adding Swap Space

Sometimes it is necessary to add more swap space after installation. For example, you may upgrade the amount of RAM in your system from 64 MB to 128 MB, but there is only 128 MB of swap space. It might be advantageous to increase the amount of swap space to 256 MB if you perform memory-intense operations or run applications that require a large amount of memory.

You have two options: add a swap partition or add a swap file. It is recommended that you add a swap partition, but sometimes that is not easy if you do not have any free space available.

To add a swap partition (assuming /dev/hdb2 is the swap partition you want to add):

  1. The hard drive can not be in use (partitions can not be mounted, and swap space can not be enabled). The easiest way to achieve this is to boot your system in rescue mode. When prompted to mount the file system, select Skip.

    Alternately, if the drive does not contain any partitions in use, you can unmount them and turn off all the swap space on the hard drive with the swapoff command.

  2. Create the swap partition using parted or fdisk. Using parted is easier than fdisk; thus, only parted will be explained. To create a swap partition with parted:

    • At a shell prompt as root, type the command parted /dev/ hdb, where /dev/ hdb is the device name for the hard drive with free space.

    • At the (parted) prompt, type print to view the existing partitions and the amount of free space. The start and end values are in megabytes. Determine how much free space is on the hard drive and how much you want to allocate for a new swap partition.

    • At the (parted) prompt, type mkpartfs part-type linux-swap start end, where part-type is one of primary, extended, or logical, start is the starting point of the partition, and end is the end point of the partition.

      Changes take place immediately; be careful when you type.

    • Exit parted by typing quit.

  3. Now that you have the swap partition, use the command mkswap to setup the swap partition. At a shell prompt as root, type the following:
     mkswap /dev/hdb2

  4. To enable the swap partition immediately, type the following command:
     swapon /dev/hdb2

  5. To enable it at boot time, edit /etc/fstab" to include:
     /dev/hdb2               swap                    swap    defaults        0 0

    The next time the system boots, it will enable the new swap partition.

  6. After adding the new swap partition and enabling it, make sure it is enabled by viewing the output of the command cat /proc/swaps or free.

To add a swap file:

  1. Determine the size of the new swap file and multiple by 1024 to determine the block size. 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:
     /swapfile               swap                    swap    defaults        0 0

    The next time the system boots, it will enable the new swap file.

  6. After adding the new swap file and enabling it, make sure it is enabled by viewing the output of the command cat /proc/swaps or free.

 

Moving Swap Space

To move swap space from one location to another, follow the steps for removing swap space, and then follow the steps for adding swap space.

 

Removing Swap Space

To remove a swap partition:

  1. The hard drive can not be in use (partitions can not be mounted, and swap space can not be enabled). The easiest way to achieve this it to boot your system in rescue mode. When prompted to mount the file system, select Skip.

    Alternately, if the drive does not contain any partitions in use, you can unmount them and turn off all the swap space on the hard drive with the swapoff command.

  2. At a shell prompt as root, execute the following command to make sure the swap partition is disabled (where /dev/hdb2 is the swap partition):
     swapoff /dev/hdb2

  3. Remove its entry from /etc/fstab.

  4. Remove the partition using parted or fdisk. Only parted will be discussed. To remove the partition with parted:

    • At a shell prompt as root, type the command parted /dev/ hdb, where /dev/ hdb is the device name for the hard drive with the swap space to be removed.

    • At the (parted) prompt, type print to view the existing partitions and determine the minor number of the swap partition you wish to delete.

    • At the (parted) prompt, type rm MINOR, where MINOR is the minor number of the partition you want to remove.

      Changes take effect immediately; type the correct minor number.

    • Type quit to exit parted.

To remove a swap file:

  1. At a shell prompt as root, execute the following command to disable the swap file (where /swapfile is the swap file):
     swapoff /swapfile

  2. Remove its entry from /etc/fstab.

  3. Remove the actual file:
     rm /swapfile

 

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 physical memory 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.

The size of your swap space should be equal to twice your computer's RAM, or 32 MB, whichever amount is larger, but no more than 2048 MB (or 2 GB).


 

Home