Як створити SWAP-файл на CentOS

Передісторія

Кілька років поспіль, я парився на віртуальному хостингу з багатьма іншими сайтами. Але от не давно з деяких міркувань, я вирішив переїхати на віртуальний сервер. Природно, що досвіду в адмініструванні серверів у мене 0 – було вирішено купувати панель управління ISPmanager.

Взяв віртуальний сервер з 2 ГБ оперативної пам’яті і 20 ГБ SSD. Встановив CentoS, ISPmanager, завантажив сайти – все працює і я радий “як слон після лазні”. Але ось прийшла мені в голову ідея, перевірити скільки одночасно відвідувачів онлайн може витримати сервер. Скориставшись 1 з сервісом для подібної перевірки, виявилося, що VPS налаштований кривими руками, падає при 50 відвідувачах. При цьому, всі CMS кричать, що немає з’єднання з базою даних (падає сервер MySQL). Після аналізу виявилося, що у мене сервер не налаштований нормально, тому apache і MySQL з’їдає всю оперативку.

В такому випадку є 2 варіанти:

  1. Найняти грамотного системного адміністратора, щоб той нормально налаштував сервер.
  2. Створити SWAP-файл підкачки (тимчасове рішення).
Читайте:  Перенесення WordPress на https

Було вирішено йти 2-м шляхом, так як грошей на адміна немає, ну і сам люблю пізнавати нові знання.

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

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

SWAP – це механізм пам’яті, при якому не активні процеси з оперативної пам’яті переміщаються на жорсткий диск, таким чином звільняючи її. Це корисно в тому випадку, якщо кількість оперативної пам’яті строго обмежена.

Swap може бути створений як:

  1. Окремий розділ на диску
  2. Файл на диску

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

Читайте:  Видаляємо вірус на opencart

Цікавим є той факт, що якщо у вас 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 адреса не оприлюднюватиметься. Обов’язкові поля позначені *