How do I add swap space to a Linux system

To add 1GB of swap to your server, for example, follow these steps:

  1. Create the file to be used for swap.
    sudo fallocate -l 1G /mnt/1GB.swap
    

    If fallocate fails or is not installed, run the following command.

    sudo dd if=/dev/zero of=/mnt/1GB.swap bs=1024 count=1048576
    
  2. Format the file for swap.
    sudo mkswap /mnt/1GB.swap
  3. To prevent the file from being world-readable, you should set up the correct permissions on the swap partition/file by running the following command to change the permission:
    sudo chmod 0600 /mnt/1GB.swap
  4. Add the file to the system as a swap file.
    sudo swapon /mnt/1GB.swap
    
  5. Add this line to the end of /etc/fstab to make the change permanent.
    /mnt/1GB.swap  none  swap  sw 0  0
    
  6. To change the swappiness value edit /etc/sysctl.conf and add the following line.
    vm.swappiness=10
    

    Start with a value of 10 and increase if needed. A typical default value for swappiness is 60. The higher the number (up to 100), the more often swap is utilized.

    How much swappiness affects performance depends on how your memory is being used, so experiment to find an optimal value. At 0 the swap file will only be used when the system runs completely out of memory. Higher values let the system swap idle processes out to allow the system to free memory for disk caching, potentially improving overall system performance.

  7. Check that the swap file was created.
    sudo swapon -s
    
  8. Reboot the server to ensure that the changes go into effect.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.