В этом посте мы успешно зарегистрировали бесплатный 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).
Убедимся в этом, для чего ведём в терминале:
(в конце этого поста, как это сделать через PuTTy по SSH , если забыли):
$ free -h
Проверяем, что у нас достаточно места для добавления раздела swap:
$ df -h
Мнений о необходимом объёме раздела swap множество ))) Мы, в рамках этой статьи, будем придерживаться того, что этот объем должен быть равен или быть в два раза больше объема оперативной памяти вашей системы. Т.е. в нашем случае это будет объём 2 Гб. (Из практики известно, что иметь swap более 4 Гб зачастую бессмысленно).
Добавляем SWAP — файл подкачки Linux
Разместим файл нужного размера swapfile в директории root (/) с помощью программы fallocate:
$ sudo fallocate -l 2G /swapfile
Проверим, что сработало:
$ ls -lh /swapfile
Делаем файл подкачки доступным только для root:
$ sudo chmod 600 /swapfile
Проверим, что сработало:
$ ls -lh /swapfile
Говорим системе, что этот раздел у нас для файла подкачки:
$ sudo mkswap /swapfile
Включаем его:
$ sudo swapon /swapfile
Проверим, что всё ok:$ sudo swapon —show
$ free -h
Следующие две команды позволят использовать файл подкачки не только для текущего сеанса, но и после перезагрузки системы.
Сделаем резервную копию конфигурационного файла 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
60 — считается нормой для настольного ПК, но для сервера желательно это значение свести к минимуму, например — 10:
$ sudo sysctl vm.swappiness=10
Сохраним это значение и после перезапуска системы, для этого открываем файл /etc/sysctl.conf:
$ sudo nano /etc/sysctl.conf
Добавляем в конец эту строчку:
$ vm.swappiness = 10
Сохраняем и закрываем файл, нажав CTRL + X, Y, а затем ENTER.
Ну, а если по какой-то причине решите удалить файл подкачки, то нужно сделать следующее:
1) Деактивируйте swap:
$ sudo swapoff -v /swapfile
2) Удалите запись файла подкачки из /etc/fstab файла:
$ sudo nano /etc/fstab
Сохраняем и закрываем файл, нажав CTRL + X, Y, а затем ENTER.
3) Удалите сам файл подкачки с помощью rmкоманды:
$ sudo rm /swapfile
На этом у меня В С Ё !!! )))
Если по какой-то причине не удобно копировать команды для терминала из этого поста, то можете взять их с моего файла README.md, который лежит на GitHub — здесь.
Рекомендованные тематические статьи:
- Установка Kali Linux (VirtualBox | Desktop | Server) для Умного дома (Home Assistant) и тестирования его безопасности.
- Установка Ubuntu 20.04 на бесплатный VPS сервер от Oracle и подключение к системе по SSH через PuTTy.
- Регистрируем бесплатный VPS сервер от Oracle навсегда (Always Free), для сервисов Умного дома или чего-то другого…
- Создаём свой VPN сервер IPsec / L2TP за пару минут на бесплатном VPS сервере от Oracle с ОС Ubuntu 20.04 (автоматизированная настройка)
- Увеличение / Уменьшение логических томов LVM на Linux + очистка системы — памяти (cache) Kali Linux / Debian / Ubuntu / CentOS
- Как создать (удалить) файл подкачки Linux. Или добавляем/удаляем SWAP для нашей Ubuntu 20.04 на бесплатном VPS — сервере от Oracle