Compute Engine Google Cloud

How to Add Swap Space on Ubuntu 18.04 – Google Cloud

How to Add Swap Space on Ubuntu 18.04 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 Ubuntu 18.04.

Not using Ubuntu 18.04? Choose a different OS:

Ubuntu 18.04 LTS

Prerequisites

  1. A running Compute Engine, see Setting up Compute Engine Instance with Ubuntu 18.04.

Check Swap Space

Check whether your Ubuntu 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

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 our /etc/fstab file.

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 Ubuntu 18.04 server in Google Cloud.

Thanks for your time. If you face any problem or any feedback, please leave a comment below.

Cloudbooklet builds a large collection of Linux based guides and tutorials on Cloud platforms like Google Cloud, AWS, Azure, DigitalOcean and more

8 Comments

  1. very useful post! btw, using echo and append operator >> can help. editing fstab and sysctl.conf. files.

    example:

    # make swap permanent
    echo “/swapfile swap swap defaults 0 0” >> /etc/fstab
    # set swap percentage
    echo “vm.swappiness=10” >> /etc/sysctl.conf

Write A Comment

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

If you find this helpful? Support me!
Buy me a coffee Donation Please buy me a coffee