Как создать (удалить) файл подкачки Linux. Или удаляем /добавляем SWAP для нашей Ubuntu 20.04 на бесплатном VPS — сервере от Oracle

+2

В этом посте мы успешно зарегистрировали бесплатный VPS — сервер от Oracle, а в этом установили на него Ubuntu 20.04 (swap не включен). Как известно, уровень Oracle Always Free включает в себя всего 1 Гбайт оперативной памяти, чего зачастую вполне достаточно для одновременной работы нескольких сервисов, например VPN-серверMQTT-брокерHome Аssistant Supervised…, вполне можно установить и настроить Nginx с Let’s Encrypt SSL с помощью Docker и Docker Compose…. 

Но, при запуске сборки контейнеров, или скриптов установки пакетов и их настройки, ваша виртуальная машина может просто зависнуть из-за нехватки оперативной памяти. Связано это с тем, что в установленной нами Ubuntu 20.04 отсутствует активный файл подкачки (swap).

Как создать (удалить) файл подкачки Linux. Или удаляем /добавляем SWAP для нашей Ubuntu 20.04 на бесплатном VPS - сервере от Oracle

Убедимся в этом, для чего ведём в терминале:

(в конце этого поста, как это сделать через PuTTy по SSH , если забыли):

$ free -h
Как создать (удалить) файл подкачки Linux. Или добавляем/удаляем SWAP для нашей Ubuntu 20.04 на бесплатном VPS - сервере от Oracle VPS, Oracle, Linux, Ubuntu, Swap, Файл подкачки, Оперативная память, Длиннопост

Проверяем, что у нас достаточно места  для добавления раздела swap:

$ df -h
Как создать (удалить) файл подкачки Linux. Или добавляем/удаляем SWAP для нашей Ubuntu 20.04 на бесплатном VPS - сервере от Oracle VPS, Oracle, Linux, Ubuntu, Swap, Файл подкачки, Оперативная память, Длиннопост

Мнений о необходимом объёме раздела  swap множество ))) Мы, в рамках этой статьи, будем придерживаться того, что этот объем должен быть равен или быть в два раза больше объема оперативной памяти вашей системы. Т.е. в нашем случае это будет объём 2 Гб. (Из практики известно, что иметь swap более 4 Гб зачастую бессмысленно).

Добавляем SWAP — файл подкачки Linux

Разместим файл нужного размера swapfile в директории root (/) с помощью программы fallocate:

$ sudo fallocate -l 2G /swapfile

Проверим, что сработало:

$  ls -lh /swapfile
Как создать (удалить) файл подкачки Linux. Или добавляем/удаляем SWAP для нашей Ubuntu 20.04 на бесплатном VPS - сервере от Oracle VPS, Oracle, Linux, Ubuntu, Swap, Файл подкачки, Оперативная память, Длиннопост

Делаем файл подкачки доступным только для root:

$ sudo chmod 600 /swapfile

Проверим, что сработало:

$ ls -lh /swapfile
Как создать (удалить) файл подкачки Linux. Или добавляем/удаляем SWAP для нашей Ubuntu 20.04 на бесплатном VPS - сервере от Oracle VPS, Oracle, Linux, Ubuntu, Swap, Файл подкачки, Оперативная память, Длиннопост

Говорим системе, что этот раздел у нас для файла подкачки:

$ sudo mkswap /swapfile
Как создать (удалить) файл подкачки Linux. Или добавляем/удаляем SWAP для нашей Ubuntu 20.04 на бесплатном VPS - сервере от Oracle VPS, Oracle, Linux, Ubuntu, Swap, Файл подкачки, Оперативная память, Длиннопост

Включаем его:

$ sudo swapon /swapfile

Проверим, что всё ok:$ sudo swapon —show

Как создать (удалить) файл подкачки Linux. Или добавляем/удаляем SWAP для нашей Ubuntu 20.04 на бесплатном VPS - сервере от Oracle VPS, Oracle, Linux, Ubuntu, Swap, Файл подкачки, Оперативная память, Длиннопост
$ free -h
Как создать (удалить) файл подкачки Linux. Или добавляем/удаляем SWAP для нашей Ubuntu 20.04 на бесплатном VPS - сервере от Oracle VPS, Oracle, Linux, Ubuntu, Swap, Файл подкачки, Оперативная память, Длиннопост

Следующие две команды позволят использовать файл подкачки не только для текущего сеанса, но и после перезагрузки системы.

Сделаем резервную копию конфигурационного файла fstab:

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

Добавим в него информацию о файле подкачки:

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

Вот в принципе и В С Ё . . . )))

Ну можно ещё настроить swap, что бы ядро по возможности избегало использование файла подкачки.

Swappiness — это свойство ядра Linux, которое определяет, как часто система будет использовать пространство подкачки. Подкачка может иметь значение от 0 до 100.

Проверим текущее значение:

$ cat /proc/sys/vm/swappiness
Как создать (удалить) файл подкачки Linux. Или добавляем/удаляем SWAP для нашей Ubuntu 20.04 на бесплатном VPS - сервере от Oracle VPS, Oracle, Linux, Ubuntu, Swap, Файл подкачки, Оперативная память, Длиннопост

60 — считается нормой для настольного ПК, но для сервера желательно это значение свести к минимуму, например — 10:

$ sudo sysctl vm.swappiness=10
Как создать (удалить) файл подкачки Linux. Или добавляем/удаляем SWAP для нашей Ubuntu 20.04 на бесплатном VPS - сервере от Oracle VPS, Oracle, Linux, Ubuntu, Swap, Файл подкачки, Оперативная память, Длиннопост

Сохраним это значение и после перезапуска системы, для этого открываем файл /etc/sysctl.conf:

$ sudo nano /etc/sysctl.conf

Добавляем в конец эту строчку:

$ vm.swappiness = 10
Как создать (удалить) файл подкачки Linux. Или добавляем/удаляем SWAP для нашей Ubuntu 20.04 на бесплатном VPS - сервере от Oracle VPS, Oracle, Linux, Ubuntu, Swap, Файл подкачки, Оперативная память, Длиннопост

Сохраняем и закрываем файл, нажав CTRL + X, Y, а затем ENTER.

Ну, а если по какой-то причине решите удалить файл подкачки, то нужно сделать следующее:

1) Деактивируйте swap:

$ sudo swapoff -v /swapfile

2) Удалите запись файла подкачки  из /etc/fstab файла:

$ sudo nano /etc/fstab
Как создать (удалить) файл подкачки Linux. Или добавляем/удаляем SWAP для нашей Ubuntu 20.04 на бесплатном VPS - сервере от Oracle VPS, Oracle, Linux, Ubuntu, Swap, Файл подкачки, Оперативная память, Длиннопост

Сохраняем и закрываем файл, нажав CTRL + X, Y, а затем ENTER.

3) Удалите сам файл подкачки с помощью rmкоманды:

$ sudo rm /swapfile

На этом у меня В С Ё !!! )))

Если по какой-то причине не удобно копировать команды для терминала из этого поста, то можете взять их с моего файла README.md, который лежит на GitHub — здесь.

Рекомендованные тематические статьи:

+2

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Пролистать наверх