Oct 6, 2023 4 min read

How to Create a Linux Swap File

Create a Linux Swap File with our step-by-step tutorial. Swap is a crucial component that enhances system performance and efficiency.

Create a Linux Swap File
Table of Contents

Introduction

Before we begin talking about how to create a Linux Swap File, let's briefly understand – What is Swap?

Swap is a crucial component that enhances system performance and efficiency. It acts as an extension to the physical memory (RAM) and allows the operating system to utilize disk space as virtual memory. When the RAM usage reaches its limit, inactive data is transferred to the swap partition, making more memory available to running processes.

This swapping process prevents system crashes or slowdowns caused by insufficient memory. Understanding swap in Linux helps optimize system performance and ensures smooth multitasking.

In this tutorial, you will create a Linux Swap File. We will also address a few FAQs on how to create a Linux Swap File.

Advantages of Swap

  1. Enhanced Performance: Swap increases available memory, minimizing the risk of system crashes or slowdowns caused by insufficient RAM.
  2. Efficient Multitasking: With swap, Linux can handle multiple tasks simultaneously, ensuring smooth operation.
  3. Flexibility: Swap allows for flexible allocation of memory resources, dynamically adjusting based on the system's needs.
  4. Improved Stability: By utilizing disk space as virtual memory, swap helps maintain system stability under heavy memory usage.
  5. Optimal Resource Management: Swap optimizes resource allocation, ensuring that active processes have enough memory for smooth execution.

Add a Swap File


To add 1GB of swap to your server, follow these steps. Replace 1G with 3G if you want to add 3GB instead of 1GB.

1) Make the following file for swap:

sudo fallocate -l 1G /swapfile

If you do not have faillocate installed or if you receive an error message stating that fallocate failed: operation not supported use the following command to create the swap file:

sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576

2) The swap file should only be accessible to the root user. To configure the proper permissions, run the following command:

sudo chmod 600 /swapfile

3) Set up the file as a Linux swap area using the mkswap utility:

sudo mkswap /swapfile

4) Use the following command to enable the swap:

sudo swapon /swapfile

Open the /etc/fstab file and append the following line to make the change permanent:

/swapfile swap swap defaults 0 0

5) To check if the swap is active, use the swapon or free command, as shown below:

sudo swapon --show
Output

NAME      TYPE  SIZE   USED PRIO
/swapfile file 1024M 507.4M   -1
sudo free -h
Output

              total        used        free      shared  buff/cache   available
Mem:           488M        158M         83M        2.3M        246M        217M
Swap:          1.0G        506M        517M

How to Change the Value of Swappiness


Swappiness is a Linux kernel property that controls how frequently the system uses swap space. Swappiness can range between 0 and 100. A low value instructs the kernel to avoid swapping whenever possible, whereas a high value instructs the kernel to use swap space more aggressively.

The swappiness value is set to 60 by default. Type the following command to see the current swappiness value:

cat /proc/sys/vm/swappiness
Output

60

While the swappiness value of 60 is adequate for most Linux systems, a lower value may be required for production servers.

To set the swappiness value to 10, for example, use the following sysctl command:

sudo sysctl vm.swappiness=10

Add the following line to the /etc/sysctl.conf file to make this parameter persistent across reboots:

vm.swappiness=10

The optimal swappiness value is determined by your system workload and how memory is used. To find an optimal value, adjust this parameter in small increments.

How to Delete a Swap File


If you need to deactivate and remove the swap file for any reason, follow these steps:

1) To begin, disable the swap by typing:

sudo swapoff -v /swapfile

2) Delete the /etc/fstab file's entry for the swap file, which is /swapfile swap swap defaults 0 0.

3) Finally, use the rm command to delete the actual swapfile file:

sudo rm /swapfile

FAQs to Create a Linux Swap File

Why would I need to create a Linux Swap File? 

Creating a swap file is useful when your system frequently runs out of RAM, as it helps prevent crashes and slowdowns by extending the available memory through disk space.

How do I check if my system has a swap file?

 You can use the swapon --show command or free -h command to view existing swap space in your system.

What is the recommended size for a swap file? 

The general rule of thumb is to allocate swap space that is equal to or double the size of your system's RAM. However, it depends on your specific needs and the amount of RAM your system has.

Can I create multiple swap files? 

Yes, you can create multiple swap files. This can be beneficial if you have multiple hard drives or partitions, enabling you to distribute swap space across different devices.

How can I make the swap file persistent across reboots? 

You need to add an entry to the /etc/fstab file to make the swap file mount automatically during system boot-up.

Can I delete a swap file? 

Yes, you can delete a swap file by deactivating it using the swapoff command and then removing the corresponding entry from the /etc/fstab file.

How can I change the size of an existing swap file? 

You would need to deactivate the swap file using swapoff, resize the file using the fallocate or dd command, update the swap file using mkswap, and finally activate it again using swapon.

Conclusion

You've learned how to make a swap file, as well as how to activate and configure swap space on your Linux system.

If you have any queries, please leave a comment below and we’ll be happy to respond to them.

Great! You’ve successfully signed up.
Welcome back! You've successfully signed in.
You've successfully subscribed to DevOps Tutorials - VegaStack.
Your link has expired.
Success! Check your email for magic link to sign-in.
Success! Your billing info has been updated.
Your billing was not updated.