How to Add Swap Space on CentOS 7 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 CentOS 7.
Not using CentOS 7? Choose a different OS:
Prerequisites
- A running Compute Engine, see Setting up Compute Engine Instance with CentOS 7.
Check Swap Space
Check whether your CentOS 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 dd if=/dev/zero of=/swapfile bs=1024 count=1048572
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 = 1048568 KiB
no label, UUID=83500984-b857-4ed3-b46c-c3b68c0e5272
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: 587M 126M 48M 4.3M 412M 339M
Swap: 1.0G 0B 1.0G
05. Making the Swap File Permanent
Install nano
editor.
sudo yum install nano -y
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
30
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 CentOS 7 server in Google Cloud.
Thanks for your time. If you face any problem or any feedback, please leave a comment below.
Leave a Reply
You must be logged in to post a comment.