Создание swap в Linux
BootЧто такое Swap?
Swap-это область на жестком диске, которая была назначена местом, где Операционная система может временно хранить данные, которые она больше не может хранить в оперативной памяти. В принципе, это дает вам возможность увеличить объем информации, которую ваш сервер может хранить в своей рабочей "памяти", с некоторыми оговорками. Пространство подкачки на жестком диске будет использоваться в основном, когда в оперативной памяти больше нет достаточного пространства для хранения данных приложения.
Информация, записанная на диск, будет значительно медленнее, чем информация, хранящаяся в оперативной памяти, но Операционная система предпочтет сохранить данные приложения в памяти и использовать swap для более старых данных.
Проверьте систему на наличие информации о Swap
Прежде чем мы начнем, мы можем проверить, есть ли в системе свободное пространство для подкачки. Можно иметь несколько файлов подкачки или разделов подкачки, но обычно одного должно быть достаточно.
Вы можете проверить если swap с помощью утилиты free
free -h
Output будет примерно такой:
Output total used free shared buff/cache available Mem: 488M 36M 104M 652K 348M 426M Swap: 0B 0B 0B
В данном случае swap не найден.
Проверка свободного места на жестком диске:
df -h
Output Filesystem Size Used Avail Use% Mounted on udev 238M 0 238M 0% /dev tmpfs 49M 624K 49M 2% /run /dev/vda1 20G 1.1G 18G 6% / tmpfs 245M 0 245M 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 245M 0 245M 0% /sys/fs/cgroup tmpfs 49M 0 49M 0% /run/user/1001
Имеем 18GB свободного пространства
Есть много мнений о размере файла подкачки, это зависит от ваших личных предпочтений и Ваших требований к приложению. Как правило, сумма равная или удвоенная Объему оперативной памяти в вашей системе.
Создание файла подкачки
Лучший способ создания файла подкачки - с помощью программы fallocate. Эта команда мгновенно создает файл предварительно выделенного размера.
Поскольку сервер в нашем примере имеет 512 МБ оперативной памяти, мы создадим 1 гигабайт файла в этом руководстве.
fallocate -l 1G /swapfile
Сделайте файл доступным только для root, введя:
chmod 600 /swapfile
Проверяем
ls -lh /swapfile
Output -rw------- 1 root root 1.0G Apr 25 11:14 /swapfile
Теперь мы можем пометить файл как пространство подкачки, введя:
mkswap /swapfile
Output Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes) no label, UUID=6e965805-2ab9-450f-aed6-577e74089dbf
После маркировки файла, мы можем включить файл подкачки, что позволяет нашей системе начать использовать его:
swapon /swapfile
Проверяем
free -h
Output total used free shared buff/cache Mem: 488M 37M 96M 652K 354M 425M Swap: 1.0G 0B 1.0G
Сделать файл подкачки постоянным
Наши последние изменения позволили создать файл подкачки для текущей сессии. Однако, если мы перезагрузимся, сервер не сохранит настройки подкачки автоматически. Мы можем изменить это, добавив файл подкачки в файл /etc / fstab.
Резервное копирование файла /etc/fstab файл в случае ошибки:
cp /etc/fstab /etc/fstab.bak
Теперь Вы можете добавить информацию о файле подкачки в конец файла /etc / fstab, введя:
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
Оригинал статьи и рекомендации по оптимизации свопа находится здесь: https://www.digitalocean.com/community/tutorials/how-to-add-swap-space-on-ubuntu-16-04