Creating a Swap file on Linux
I’ve recently moved from a server with more than enough RAM, to a lower spec (and significantly cheaper!) VPS that still does 99% of what I want it to.
The issue however is that with the reduced RAM there’s a very real possibility of running out and locking up the system. The easy (and cheap) solution is to add a swap file instead of repartitioning my disk space.
The notes here work with a 1GB swap file, but feel free to change these if need be.
Firstly we’re going to create the file, set permissions and enable the swap file:
sudo dd if=/dev/zero of=/swap bs=1M count=1024 status=progress sudo chmod 600 /swap sudo mkswap /swap sudo swapon /swap
This can then be mounted on boot by editing your
/etc/fstab file and adding the following line:
/swap swap swap defaults 0 0
Now you can check this swap space is working by:
sudo swapon --show
Now the swap file is up and running, you can decide if you want to alter the swappiness value on your system which dictates how the file should be used. The default value on my system was
60, but I’ve altered it to
10 using the below commands:
cat /proc/sys/vm/swappiness sudo sysctl vm.swappiness=10
To make this change permanent, you’ll need to write the value to your
sysctl.conf file via:
echo "vm.swappiness=10" | sudo tee -a /etc/sysctl.conf
- Edit 2020-08-27: Replaced
dd, caused issues when trying to