Here are the steps needed to add a new SWAP partition to your Linux machine. This’ll allocate 2GB of space on your disk, and allow it to be used as RAM if your server is running low.
Allocate the space for SWAP
First, let’s create a 2GB file on the disk that’ll be used as SWAP space. You need to have this space available on your hard drive!
$ fallocate -l 2G /swapfile $ chmod 600 /swapfile
Mark the file as use for SWAP
Next up, we’ll have to explicitly mark that file to have the necessary layout to be used as a SWAP partition.
$ mkswap /swapfile
Activate the SWAP partition
Now, time to let the system use that 2GB file as the new SWAP space!
$ swapon /swapfile
Depending on your system load (or how urgent you’re adding new SWAP space), this may take a few seconds.
You can verify if the system has loaded this correctly as follows:
$ swapon --show NAME TYPE SIZE USED PRIO /swapfile file 2G 56.4M -2
free utility, which shows the total amount of memory and the free memory, will also list your SWAP space:
$ free -h total used free Mem: 1.9G 1.1G 694M Swap: 2.0G 68M 1.9G
Add the SWAP partition to /etc/fstab
To make sure the new SWAP partition is loaded on reboot, add this to your
/etc/fstab line at the very bottom.
$ cp /etc/fstab /etc/fstab.backup $ echo "/swapfile swap swap defaults 0 0" >> /etc/fstab
/etc/fstab should now look similar to this, with your root partition and the SWAP partition included (and probably some other partitions, as that’ll depend on your distro).
$ cat /etc/fstab LABEL=cloudimg-rootfs / ext4 defaults 0 0 LABEL=UEFI /boot/efi vfat defaults 0 0 /swapfile swap swap defaults 0 0
To play it safe: reboot your machine and see if it works!
If it doesn’t, reboot in recovery mode and comment out (or remove) the last line in
/etc/fstab, and reboot again.