Добавление области подкачки / Swap на Ubuntu

Если недостаточно RAM памяти то можно сделать Swap. На большинстве серверов Swap не настроен.

Для начала проверяю версию Ubuntu

$ lsb_release -a

В результате вы получите вот такое

No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.2 LTS
Release: 18.04
Codename: bionic

Чтобы узнать текущую конфигурацию вводим

$ sudo swapon --show

Если в системе сейчас нет области подкачки, то после этой команды ничего не происходит.

Также убедиться в отсутствии активной подкачки можно при помощи утилиты free:

$ free -h

В строке ​​​Swap видно​​​, что в системе отсутствует активная подкачка.

total used free shared buff/cache available
Mem: 985M 492M 222M 50M 270M 289M
Swap: 0B 0B 0B

Проверяем свободное пространство

$ df -h

теперь в столбце Mounted on​​​ ищем устройство /. Например

Filesystem Size Used Avail Use% Mounted on
udev 480M 0 480M 0% /dev
tmpfs 99M 1016K 98M 2% /run
/dev/vda1 25G 8.4G 16G 35% /
tmpfs 493M 0 493M 0% /dev/shm

В этом случае использую только 8.4G. Теперь знаю сколько свободного место. Теперь выделяю 2G на подкачку.

$ sudo fallocate -l 2G /swapfile

Теперь проверяю правильность выделенного объема памяти

$ ls -lh /swapfile

Теперь нужно чтобы только пользователи с правами root могли читать его содержимое. Чтобы передать все права доступа пользователям root

$ sudo chmod 600 /swapfile

И проверяем изменения

$ ls -lh /swapfile

После увидим

-rw——- 1 root root 2.0G Dec 23 15:52 /swapfile

Теперь можем отметить файл как пространство подкачки

$ sudo mkswap /swapfile

В ответе

Setting up swapspace version 1, size = 2 GiB (2147479552 bytes)
no label, UUID=293fc4b0-159d-473b-8a53-80244d6492a6

Теперь можно активировать файл подкачки, чтобы система могла его использовать

$ sudo swapon /swapfile

Теперь проверяем что пространство подкачки активировано

$ sudo swapon --show

В ответе

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

Чтобы подтвердить наши выводы, можем снова проверить ответ утилиты free:

$free -h

В ответе

total used free shared buff/cache available
Mem: 985M 516M 189M 50M 279M 266M
Swap: 2.0G 0B 2.0G

Сейчас файл подкачки доступен в текущей сессии и не будет доступен после перезагрузки компьютера. Теперь нужно сделать файл подкачки постоянным. Нужно сделать резервную копию файла /etc/fstab на случай если что-то пойдет не так:

$ sudo cp /etc/fstab /etc/fstab.bak

Добавьте информацию о файле подкачки в конец файла /etc/fstab

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

Перезагружаем и проверяем.