Привет, %username%
! Есть сервер на который при разворачивании не добавили SWAP
раздел и это необходимо исправить. Все как всегда довольно просто.
SWAP
- это пространство на диске, которое используется, когда объем физической оперативной памяти заполнен. Когда в системе Linux заканчивается RAM
, неактивные страницы перемещаются из RAM
в SWAP
.
SWAP
может принимать форму либо выделенного раздела подкачки, либо файла подкачки. В большинстве случаев при запуске Linux на виртуальной машине раздел подкачки отсутствует, поэтому наш единственный вариант-создать файл подкачки.
Описанное далее было протестировано на системах Linux с Ubuntu 18.04 и CentOS 7, но так же справделиво для любых других дистрибутивов Linux.
Добавляем swap
-файл
Выполни следующие действия, чтобы добавить 1GB подкачки на сервер. Если хочешь добавить 2GB вместо 1GB, замените 1G
на 2G
.
Создай файл, который будет использоваться как swap
sudo fallocate -l 1G /swapfile
Если fallocate
не установлен или получено сообщение об ошибке вроде такого: fallocate failed: Operation not supported
, то имеет смысл воспользоваться другой командой для создания swap
-файла:
sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576
Задай корректные права на swap
-файл
Только пользователь root
должен иметь права писать в swap
-файл. Выполни следующее:
sudo chmod 600 /swapfile
Создание области подкачки
Используй утилиту mkswap
для настройки файла в качестве области подкачки Linux:
sudo mkswap /swapfile
Включение SWAP
Для активации раздела подкачки выолни следующую команду:
sudo swapon /swapfile
Для автоматического подключения раздела подкачки после перезагрузки сервера необходимо включить его автоматическое монтирование в файле /etc/fstab
:
/swapfile swap swap defaults 0 0
Проверка статуса SWAP
-файла
Для проверки статуса раздела подкачки можно использовать следующие команды:
# Вот так
sudo swapon --show
NAME TYPE SIZE USED PRIO
/swapfile file 1024M 507.4M -1
# Или так
sudo free -h
total used free shared buff/cache available
Mem: 488M 158M 83M 2.3M 246M 217M
Swap: 1.0G 506M 517M
Как настроить значение vm.swappiness
vm.swappiness
- это свойство ядра Linux, которое определяет, как скоро система начнет использовать SWAP
-раздел. vm.swappiness
может принимать значения от 0 до 100. Низкое значение заставит ядро более активно утилизировать оперативную память, в то время как боее высокое значение заставит ядро гораздо чаще обращаться к SWAP
-разделу.
По умолчанию значение vm.swappiness
равно 60
- это значит, что сброс данных в SWAP
будет происходить при заполнении оперативной памяти свыше 40%, что в свою очередь может повлиять на производительность системы в целом и сервисов которые ею предоставляются. Посмотреть текущее значение можно следующим способом:
cat /proc/sys/vm/swappiness
# OUTPUT
60
Этого значения достаточно для большинства Linux-систем, но в production-среде вам может понадобиться понизить это значение. Делается это следующим образом. Прямо сейчас изменить значение на 10 без перезагрузки системы:
sudo sysctl vm.swappiness=10
Чтобы значение не менялось после перезагрузки системы, необходимо в добавить этот параметр в файл /etc/sysctl.conf
:
cat /etc/sysctl.conf
# OUTPUT
vm.swappiness=10
Для отключения SWAP
-раздела
Если вам необходимо отключить раздел подкачки в Linux, то вам необходимо выполнить следующие шаги:
Деативировать swap
:
sudo swapoff -v /swapfile
Удалить точку автоматического монтирования в системе /swapfile swap swap defaults 0 0
из файла /etc/fstab
Удалить собствено сам файлик:
sudo rm -f /swapfile
Finaly
Собственно всё =) Создание, политика изспользования и удаление файла SWAP
делается довольно просто - думаю это видно из статьи.
Если у тебя есть вопросы, комментарии и/или замечания – заходи в чат, а так же подписывайся на канал.