A computer has limited amount of physical memory, So when your computer run out of physical RAM, then computer need more space, where inactive data is stored in virtual memory on disk.
Swap space or Swap memory is the virtual memory(RAM) on Hard disk. Swap space is useful when applications that aren't being used can be stored on disk until they are used. While Swap space is not in memory use, it is also used as Disk space. Swap space is useful in adding more RAM, it should be noted that reading memory from disk is slower than reading memory from RAM. So if you need more RAM, best option is to increase RAM in the system, but if you plans to add more RAM later, then you can add more Swap space.
Check Swap space
To add the Swap space, first you need to check how much Swap space is already in the system. Generally there are half of the RAM, Swap space is needed. Run the following command in the Terminal window to check current Swap space in the system.
sudo swapon -s
If you already have Swap sapce, then you will get bellow output otherwise you only get headings:
/dev/sda5 partition 999420 0 -2
Or run the bellow command to get in more details.
sudo free -h
And you will see information similar to bellow details:
Mem: 7.7G 2.9G 2.9G 535M 1.9G 3.9G
Swap: 975M 0B 975M
Add more Swap space
Currently there is no Swap space available in my ubuntu system. Suppose now I want to create 1GB of Swap space in the system.
There are generally 2 methods to create Swap space.
1. Using fdisk command
First turn off Swap partition if it will be in use.
sudo swapoff -a
Now we need to create new partition on Disk. I will create Swap space on sda
drive. Run the bellow command and it will enter to disk partition menu to create new partition.
sudo fdisk /dev/sda
Press n
to create new partition. Now you will asked to enter first cylinder value. Press enter to use default value or enter first cylinder value and then hit enter. Now enter last cylinder value. You can use any format to enter Cylinder value, for example 1000M or 1GB of space. This is the disk we are using for Swap space, so type 1GB and hit enter.
We have created disk partition, now we are changing type of partition. For that type t
and it will ask number for the disk partiotion, which is in most cases it will be 5. Now type partititon type id, for us 82 id is for Linux swap / Solaris. Type L
to get all partition type id. So type 82 and it will change disk partition to Linux swap / Solaris.
Now type w
to save and exit. Now you are back to the command line.
We have successfully created disk partition. Now we need to modify /etc/fstab
to mount new Swap space.
First check if you have created right disk partition
sudo fdisk -l
Run the mkswap
command with partition disk
sudo mkswap /dev/sda5
Now modify /etc/fstab file and add new partition in the list using Vim or Nano Editor. It will make new partition permanent.
sudo nano /etc/fstab
Add bellow lines.
In the last, run this command and activate Swap space.
sudo swapon /dev/sda5
Now reboot the system and all changes are takes effective.
2. Using fallocate command
This is the easy and fast method than the above method.
First create swap file
sudo fallocate -l 1GB /swapfile
If fallocate fails or it not available, you can also use dd:
sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576
Now change the file permission by running chmod command
sudo chmod 600 /swapfile
Create Swap space in the system
sudo mkswap /swapfile
Activate new Swap space
sudo swapon /swapfile
Now modify /etc/fstab
file and add new partition in the list using Vim or Nano Editor.
sudo nano /etc/fstab
And add the following lines at the end of file.
Verify the Swap space
sudo free -h
That's it, it will create 1GB of swap space.
Conclusion
So, this way you can check and add new Swap space. I hope this article helped you.