Running low on memory can cause applications to crash, the system to become unresponsive, and other issues. This is common on memory limited systems, especially on SBCs like the Raspberry Pi. Swapping to disk can be used to allow for some extra breathing room at the cost of performance.
You can check to see if you already have swapping enabled by running the following command in a root shell, or with sudo
.
# swapon --show
To add a new swap file, first you must allocate a swap file. In this example, we allocate 1GB. See man fallocate
for more length suffixes. Recommendations for swap size differ wildly, but Red Hat has a fairly comprehensive table.
# fallocate -l 1G /swap
Later commands will complain if the file permissions are set incorrectly, so ensure that 600
is used (owner read and write).
# chmod 600 /swap
In order to be used, you must first initialize the file as a swap area.
# mkswap /swap
Now you can enable the new swap area.
# swapon /swap
Finally, to ensure the swap is mounted on startup, add the following line to /etc/fstab
.
/swap none swap sw 0 0
Note that enabling or expanding the swap on an SD card, like in the case of a Raspberry Pi, can significantly decrease the lifespan of the card.