/**/ Managing Swap Space in Linux - Dextutor Linux

Managing Swap Space in Linux

Swap space is an area in the secondary storage device which is used to supplement system RAM by holding the inactive pages of memory. The combination of system RAM and swap space is referred to as Virtual memory. When the available RAM usage exceeds a specified limit then the kernel will write idle pages belonging to a process into this swap space in order to free up space in the RAM. Whenever any process requires to access the page that was written to the swap area, the kernel will find another idle page to swap with the required page (known as a page fault). Since, the swap area resides on the disk it is very slow to access as compared with RAM so its usage should be kept to minimal. In this post we will learn managing (create/extend) the swap space in Linux.

Check the existing swap space

Let’s start by checking the existing swap space size. Use the free command as shown in the figure below

managing swap space in linux using free command

It shows that 51Mb of total swap is there and all the space is free.

Create Swap Space

The process of creating a swap space consists of four steps

  1. Create a partition
  2. Set the partition type to 82 Linux Swap
  3. Format the partition
  4. Make it persistent

Step1: Create a partition

The steps of creating the partition are same as detailed in How to create disk partitions in Linux? I will repeat the steps here again (but not in detail)

Use the lsblk command to list the exiting disks along with partitions

Now suppose we want to extend the swap space by 512Mb. So, let’s choose /dev/sdb disk for the same. You can choose a disk depending upon how much you want to extend the swap space.

Step2: Set the partition type to 82 Linux Swap

Since, we want to create a swap partition hence the default partition (which is Linux) need to be changed. Follow the steps as shown below.

managing swap space in linux

Press ‘t’ to change the type. 82 is the correct Hex code you want. Just in case you want to see the entire list of codes press ‘L’. You can see that after typing 82 and pressing enter there is a message “Changed type of partition ‘Linux’ to ‘Linux swap/Solaris’ which confirms that the type is changed.

Next, type ‘w’ and finally ‘partprobe’ to update the partition table.

Check the newly created partition /dev/sdb1 of size 512Mb using the lsblk command

Step3: Format the partition

The third step is to format the partition. Use the mkswap command for the same.

managing swap space in linux

Step4: Make it persistent

Use the swapon command to activate the formatted swap space or you can make the swap space persistent for all future reboots by editing the /etc/fstab file and using the swapon -a command.

Open the /etc/fstab file using any editor.

#vi /etc/fstab

Write this line in the file

/dev/sdb1  swap  swap  defaults 0 0

Run the swapon -a command

#swapon -a

Now check the available swap space again using free command

You can see that the available swap space is now 563Mb (51(original) + 512 (new)).

In case you want to deactivate the swap space use the swapoff command. The swapoff command is successful only if any swapped data can be written to another active swap space and then back into memory, otherwise the command will fail.

Note: If there are multiple swap spaces (as above) the second one becomes available for use only when the first one is completely full. Use the swapon -s command to view the priority list.

Other useful Links to Managing Swap Space in Linux