Как создать SWAP-файл на CentOS

Предыстория

Несколько лет подряд, я парился на виртуальном хостинге с многими другими сайтами. Но вот не давно по некоторым соображениям, я решил переехать на виртуальный сервер. Естественно, что опыта в администрировании серверов у меня 0 — было решено покупать панель управления ISPmanager.

Взял виртуальный сервер с 2 ГБ оперативки і 20 ГБ SSD. Установил CentoS, ISPmanager, загрузил сайты — всё работает и я рад «как слон после бани».  Но вот пришла мне в голову идея, проверить сколько одновременно посетителей онлайн может выдержать сервер. Воспользовавшись 1 из сервисом для подобной проверки, оказалось что VPS настроенный кривыми руками, падает при 50 посетителях.  При этом, все CMS кричат что нет соединения с базой данных (падает сервер MySQL). После анализа оказалось, что у меня сервер не настроен нормально, поэтому apache и MySQL съедает всю оперативку.

В таком случае есть 2 варианта:

  1. Нанять грамотного системного администратора, чтобы тот нормально настроил сервер.
  2. Создать SWAP-файл подкачки (временное решение).
Читайте:  Бесплатный SSL сертификат на 3 года

Было решено идти 2-м путём, так как денег на админа нету, ну и сам люблю познавать новые знания.

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

Что такое SWAP-файл подкачки?

SWAP — это механизм памяти, при котором не активные процессы с оперативной памяти перемещаются на жесткий диск, таким образом освобождая её.  Это полезно в том случае, если количество оперативной памяти строго ограничено.

Swap может быть создан как:

  1. Отдельный раздел на диске
  2. Файл на диске

Мы же с вами будем создавать файл на диске.

Читайте:  Защита от спама на WordPress

Интересен тот факт, что если у вас SSD диск, то скорость будет только немного ниже, чем в оперативной памяти.

Подключаемся по SSH к своему серверу, и смотрим не создан ли случайно уже данный файл у вас:

swapon -s

Если же файл подкачки создан, то результат будет  таким:

[root@server]# swapon -s
Filename Type Size Used Priority
/var/swap.img file 1023992 30248 -1

Если же нет, то таким:

Swap: 0 0 0

Как создать файл подкачки (swap) в Linux (Centos)

Переходим в папку /var:

cd /var

Создаем сам файл и представляем права:

touch swap.img
chmod 0600 swap.img

Выбираем размер файл подкачки

Есть мнение, что файл подкачки должен быть размером как оперативная память, или же превышать её в 2 раза. Поэтому, я буду создавать swap размером оперативной памяти — 2 ГБ.

dd if=/dev/zero of=/var/swap.img bs=2048k count=1000

Процес создания файла никак не отображается, поэтому нам нужно только ждать.

После чего, инициализируем swap командой mkswap:

mkswap /var/swap.img

Поздравляю! SWAP создан!

Включаем:

swapon /var/swap.img

Проверяем:

swapon -s

или

free

Добавляем SWAP в fstab

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

echo "/var/swap.img none swap sw 0 0" >> /etc/fstab

или

nano /etc/fstab

и прописываем строку:

/var/swap.img none swap sw 0 0

Теперь давайте зададим приоритеты использования памяти

Поскольку теперь в системе есть фактически два варианта оперативной памяти, нам нужно задать параметры как её использовать. Я хочу, чтобы SWAP подключался в том случае ,когда оперативная память заполнена на 80%. Поэтому, делаем следующую команду:

sysctl -w vm.swappiness=20

Как удалить Swap

Для начала нам нужно его отключить:

sudo swapoff /var/swap.img

Удаляем

sudo rm /var/swap.img

Добавить комментарий

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