Swap is a physical space on the disk that is used when the system RAM is full. When the memory usage in a system exceeds the available RAM, the kernel will move the idle page to the swap memory. Swap space can be created on a separate partition or a swap file. If your server is running on a VPS and a swap partition is not present, then you will need to create a swap file.
In this post, we will show how to create and manage a swap space on Linux.
Prerequisites
- A fresh Ubuntu/CentOS server on the Atlantic.Net Cloud Platform
- A root password configured on your server
Step 1 – Create Atlantic.Net Cloud Server
First, log in to your Atlantic.Net Cloud Server. Create a new server, choosing Ubuntu/CentOS as the operating system with at least 2GB RAM. Connect to your Cloud Server via SSH and log in using the credentials highlighted at the top of the page.
Once you are logged in to your Ubuntu/CentOS server, run the following command to update your base system with the latest available packages.
apt-get update -y
Or
yum update -y
Step 2 – Verify Swap Partition
Before starting, you will need to check whether Swap is enabled or not in your system.
You can check it with the following command:
swapon --show
If the output is empty that means there is not any swap space active in your system.
Step 3 – Create a Swap File
As you can see, there is not any swap space active in your system. So you will need to create a new swap file to your system.
First, create a swap file with size 4GB using the following command:
dd if=/dev/zero of=/swapfile bs=4096 count=1048576
You should see the following output:
1048576+0 records in 1048576+0 records out 4294967296 bytes (4.3 GB, 4.0 GiB) copied, 9.47796 s, 453 MB/s
Next, set the correct permission on swapfile with the following command:
chmod 600 /swapfile
Next, create a swap area on the swapfile with the following command:
mkswap /swapfile
Output:
Setting up swapspace version 1, size = 4 GiB (4294963200 bytes) no label, UUID=035ada64-2c1a-407d-9f1a-c0dd02b8dcd4
Next, activate the swap space using the following command:
swapon /swapfile
The above command will activate the swap space temporarily.
To set up it permanently, edit the /etc/fstab file:
nano /etc/fstab
Add the following line:
/swapfile swap swap defaults 0 0
Save and close the file then verify the swap partition with the following command:
swapon --show
You should see the following output:
NAME TYPE SIZE USED PRIO /swapfile file 4G 0B -2
Step 4 – Check Swap Usage
To check the Swap usage information, run the following command:
free -m
You should see the following output:
total used free shared buff/cache available Mem: 1987 74 69 0 1843 1745 Swap: 4095 0 4095
You can also check it with the following command:
cat /proc/swaps
You should see the following output:
Filename Type Size Used Priority /swapfile file 4194300 0 -2
You can also use the top command to check the swap usage in real-time:
top
You should see the following output:
Tasks: 84 total, 1 running, 83 sleeping, 0 stopped, 0 zombie %Cpu(s): 5.9 us, 5.9 sy, 0.0 ni, 88.2 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st MiB Mem : 1987.7 total, 68.0 free, 74.8 used, 1844.9 buff/cache MiB Swap: 4096.0 total, 4096.0 free, 0.0 used. 1745.5 avail Mem
You can also use the vmstat command to check the swap usage:
vmstat 2 6
You should see the following output:
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 3 0 0 69356 12096 1877228 0 0 35 652 31 59 0 0 99 0 0 0 0 0 69420 12096 1877228 0 0 0 0 24 42 0 0 100 0 0 0 0 0 69388 12096 1877228 0 0 0 0 22 40 0 0 100 0 0
Step 5 – Remove a Swap Space
In order to remove the swap space, you will need to deactivate the swap space first. You can do it with the following command:
swapoff -v /swapfile
Next, edit the /etc/fstab file and remove the following line:
nano /etc/fstab
Remove the following line:
/swapfile swap swap defaults 0 0
Next, remove the swap file using the following command:
rm -rf /swapfile
Next, verify whether the swap space is removed or not with the following command:
swapon --show
Conclusion
In the above guide, you learned how to check and create a swap space on Linux. You also learned how to monitor the swap space with different commands. Get started today with your VPS from Atlantic.Net.