Главная / Настройка сервера > Создание файла подкачки (SWAP) на сервере

Создание файла подкачки (SWAP) на сервере

Создаём SWAP


На большенстве серверов файл подкачки (swap) создаётся автоматически, при установке системы. Под него выделяется отдельное место на диске. Но поскольку вебмастера чаще имеют дело с VPS, то если он не был создан хостером при создании VPS, возможности создать его отдельным разделом уже нет. Или это довольно сложно и не нужно. Удобно и достаточно создать swap-файл.

Делается это следующим образом:

dd if=/dev/zero of=/swapfile bs=1M count=1024


Эта команда создаст файл по адресу /swapfile объемом в 1 гб . Если же вы хотите создать подкачку большего объема, соответственно вам нужно в параметре count указать большее значение — например 2048 для создания свопа в 2 gb.

По завершении команда выдаст отчет о том что сколько-то данных было записано и с какой скоростью.

Теперь нужно этот файл инициализировать и подключить в качестве свопа.

chmod 0600 /swapfile


mkswap /swapfile


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

Для этого добавим строку в файл /etc/fstab такого содержания:

/swapfile swap swap defaults 0 0


В приниципе после перезагрузки у нас своп теперь появится. Но чтобы подключить его в первый раз сразу и без перезагрузки мы можем дать такую команду:

swapon -a


Эта команда перечитает файл /etc/fstab и подключит наш новый своп. Теперь можем смотреть в top, и увидим что он появился.

{reklama}

Меняем параметры ядра Linux, политику распределения памяти



Для этого открываем файл /etc/sysctl.conf и дописываем строки


vm.overcommit_ratio = 90
vm.overcommit_memory = 2


Если вы этого ещё не сделали.

Если же сделали ранее, то ваши параметры ещё не применились, поскольку нам нужно было создать своп сначала, чтобы не повесить систему. Дело в том, что здесь как и с файлом fstab — настройки будут подхватываться только при перезагрузке. Но дабы опять таки без оной обойтись, мы можем просто сказать:

sysctl -p


Эта команда перечитает файл sysctl.conf и принудительно задаст наши параметры из него, о чём и отрапортует после выполнения.

На этом всё. Теперь ни mysql, ни любой другой процесс не будет убиваться ядром при большем потреблении памяти. Своп мы создали в качестве страховки, он как бы дополняет и продолжает основную память системы, является используемым резервом.


Полное описание настройки и продолжение смотрите на сайте vpsadm.ru
21-01-2019, 09:38. Разместил: administrator
Вернуться назад