> For the complete documentation index, see [llms.txt](https://notes.leetdev.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://notes.leetdev.net/ubuntu/untitled.md).

# Creating Swap Space on Ubuntu 18.04

Of course, we do not recommend you use swap space as a *replacement* to physical memory, especially on cloud hosting. If you are continuously eating into swap space, you should upgrade your physical memory. Swap should really only be a fall back in case memory usage peaks abnormally.

First check if the system has any swap configured.

```
swapon --show
```

If the output is blank, there is no swap configured so we can continue with this guide.

## 1. Create a Swap File

We will use the `fallocate` program to create a swap file. Best practice is to create a swap file double the amount of your RAM. If you have 1024MB of RAM, create a 2GB swap file.

```
sudo fallocate -l 2G /swapfile
```

Now check if the file was created.

```
ls -lh /swapfile
```

If it was created correctly, you should see something like:

```
-rw-r--r-- 1 root root 2.0G Aug 3 18:59 /swapfile
```

## 2. Configure Swap File

Make the swap file only accessible to root.

```
sudo chmod 600 /swapfile
```

Mark the file as a swap file.

```
sudo mkswap /swapfile
```

If it was successful, you should see something like

```
Setting up swapspace version 1, size = 2 GiB (2147479552 bytes)
no label, UUID=00aafaee-51c9-46b3-a0fc-8240c134048e
```

Finally we will tell the system to start using our new swap file,

```
sudo swapon /swapfile
```

To verify that the swap is now available type:

```
sudo swapon --show
```

Result:

```
NAME      TYPE  SIZE USED PRIO
/swapfile file  2G   0B   -2
```

We can also run the following to see our new swap file alongside physical memory

```
free -h
```

Result:

```
              total        used        free      shared  buff/cache   available
Mem:           985M        418M        104M         26M        462M        392M
Swap:          2.0G          0B        2.0G
```

## 3. Make it Persistent

This swap will only last until next reboot. In order to make it permanent, we will add it to the `/etc/fstab` file.

```
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
```

## 4. Some Final Tweaks

For a server, you should change the `swappiness` value to 10.

```
sudo sysctl vm.swappiness=10
```

Now change the `vfs_cache_pressure` value to 50.

```
sudo sysctl vm.vfs_cache_pressure=50
```

To make these two settings persist after next reboot, edit the following file:

```
sudo nano /etc/sysctl.conf
```

Add this to the bottom.

/etc/sysctl.conf

```
vm.swappiness=10
vm.vfs_cache_pressure=50
```

Save file and exit. (Press `CTRL` + `X`, press `Y` and then press `ENTER`).

If you can, reboot the server with `sudo reboot` and run `sudo swapon --show` just to make sure the swap space was created automatically on startup.

A useful way to keep an eye on your swap usage and system resources is to run `htop`.&#x20;
