How to Add Swap Space on Debian 9 on Google Cloud. Swap Space is a space in Linux is used when the amount of physical memory (RAM) is full. If the system needs more memory resources and the RAM is full, inactive pages in memory are moved to the swap space.
Swap space can help machines with a small amount of RAM. In case you choose a VM instance with 600 MB RAM, then your memory will get exhausted and you will get cannot allocate memory.
This guide provides the steps required to add swap space on Debian 9.
Not using Debian 9? Choose a different OS:
Prerequisites
- A running Compute Engine, see Setting up Compute Engine Instance with Debian 9.
Check Swap Space
Check whether your Debian server already has a swap space available. More often virtual machines don’t have a swap space enabled by default. Check swap space with the following command.
sudo swapon --show
If you don’t get any output, then your server don’t have any swap space. It’s time to add swap memory.
01. Creating a Swap File
Now you can create a swap file to add 1 GB (1G
) space. You can also increase the amount of space you need.
sudo fallocate -l 1G
/swapfile
02. Set up Swap File Permissions
Now you have a swap file of correct size and can be enabled as swap space.
Proceed by setting up correct permissions.
sudo chmod 600 /swapfile
03. Set up a Swap Space
You can now mark the file as swap space with the mkswap
command.
sudo mkswap /swapfile
You will receive the output similar to this.
Output
Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes)
no label, UUID=f59595fb-754b-47ae-af6b-8dd6e98654d8
04. Enable Swap Space
Enable the swap space and allow the system to utilise the space.
sudo swapon /swapfile
Verify that the swap is available by typing:
sudo swapon --show
Output
NAME TYPE SIZE USED PRIO
/swapfile file 1024M 0B -2
You can check the output of the free utility again.
free -h
Output
total used free shared buff/cache available
Mem: 581M 275M 62M 103M 243M 110M
Swap: 1.0G 0B 1.0G
05. Making the Swap File Permanent
Install nano editor.
sudo apt install nano
Now swap space is only created for the current session. If you reboot the server the current changes will be gone. So you can make this setting permanent by adding the swap file to /etc/fstab
sudo nano /etc/fstab
Add the following at the end of the file.
/swapfile swap swap defaults 0 0
Configure Swappiness Value
The swappiness
parameter allow to configure how often your system swaps data out of RAM to the swap space.
This value will be between 0 to 100 in percentage. The values close to zero, the kernel will not swap data to the disk unless absolutely necessary. The higher the value that are closer to 100 will try to put more data into swap in an effort to keep more RAM space free.
So, telling the system not to rely on the swap much will generally make your system faster.
You can see the current swappiness value by typing:
cat /proc/sys/vm/swappiness
Output
60
Now set the value to 10
with the following command.
sudo sysctl vm.swappiness=10
Output
vm.swappiness = 10
You can make this value permanent by adding the line to your /etc/sysctl.conf
file.
sudo nano /etc/sysctl.conf
At the bottom, add the following line.
vm.swappiness=10
Hit Ctrl+X
followed by Y
and Enter
to save and close the file.
Removing Swap Space
To remove a swap space you need to swapoff
the space, remove the entry from the /etc/fstab
file and finally delete the swap file.
sudo swapoff -v /swapfile
Edit the /etc/fstab
file and remove the swap file entry /swapfile swap swap defaults 0 0
Finally, delete the swap file.
sudo rm /swapfile
Conclusion
Now you have learned how to create a swap file, activate, configure swap space and remove the swap space on your Debian server in Google Cloud.
Thanks for your time. If you face any problem or any feedback, please leave a comment below.