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

0
1

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

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

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

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

  • Найняти грамотного системного адміністратора, щоб той нормально налаштував сервер.
  • Створити SWAP-файл підкачки (тимчасове рішення).
  • Було вирішено йти 2-м шляхом, так як грошей на адміна немає, ну і сам люблю пізнавати нові знання.

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

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

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

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

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

    Цікавим є той факт, що якщо у вас SSD диск, то швидкість буде тільки трохи нижча, ніж в оперативній пам’яті.

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

    swapon -s

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

    [[email protected]]# 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
    Як створити SWAP-файл на CentOS
    5 (100%) 3 votes

    Навігація записів

    Огляд внутрішньої IP камери: Xiaomi CHUANGMI 720P CSMXJ01C
    Конфігурація NGINX в ISPmanager для WordPress

    ОСТАВЬТЕ ОТВЕТ

    Please enter your comment!
    Please enter your name here