Коротка відповідь: Перевірте реальний тиск на пам'ять через free -h — дивіться на available, а не «free» (Linux навмисно заповнює RAM кешем). Якщо available справді мало, знайдіть споживачів через ps aux --sort=-%mem | head, перевірте лог ядра на OOM-kill (dmesg | grep -i oom), додайте swap як буфер і полагодьте чи приборкайте найбільшого споживача.

Огляд

Найчастіша скарга «RAM закінчується» — хибна тривога: кешована пам'ять, яку Linux миттєво віддає за потреби. Справжній тиск виглядає як низький available, інтенсивний swap і OOM killer, що вбиває процеси — типово базу даних. Цей гайд розділяє обидва випадки й лікує справжній.

Що потрібно мати

  • SSH-доступ.
  • Базове уявлення, що має працювати на сервері (веб-сервер, PHP-FPM, MySQL…).

Покрокова інструкція

  1. Оцініть реальний тиск:
    free -h
    Здорово: available — помітна частка від загального обсягу. Проблема: available біля нуля і активно використовується swap.
  2. Знайдіть споживачів:
    ps aux --sort=-%mem | head -10
  3. Перевірте події OOM killer:
    dmesg -T | grep -i -E "oom|killed process"
    Якщо вбито MySQL/MariaDB — база перезапуститься з порожнім кешем і слабкою продуктивністю: класичний симптом малого VPS.
  4. Додайте swap як запобіжник (якщо його немає):
    fallocate -l 2G /swapfile
    chmod 600 /swapfile
    mkswap /swapfile
    swapon /swapfile
    echo '/swapfile none swap sw 0 0' >> /etc/fstab
    Swap рятує від жорстких OOM-падінь, але не замінює RAM — якщо він у постійному вжитку, пам'яті бракує.
  5. Приборкайте великих споживачів: зменшіть pm.max_children у PHP-FPM, потюньте innodb_buffer_pool_size MySQL (типово 50–60% RAM на виділеному БД-сервері, значно менше на спільному), перезапускайте застосунки з витоками за розкладом.
  6. Все одно тісно? Розширте RAM — найдешевше рішення для сайту з базою, який переріс план.

Типові проблеми

  • Паніка «RAM використано на 95%»: якщо available у нормі — це кеш працює як задумано; дій не треба.
  • MySQL помирає ночами? OOM під час бекапів/пікових cron — додайте swap, зменшіть буфери або додайте RAM.
  • Пам'ять росте нескінченно? Витік у застосунку — заплануйте м'який перезапуск (таймер systemd), поки шукаєте причину.

Коли звертатися в підтримку

Якщо цифри пам'яті виглядають неможливими для плану або сервер дивно поводиться після апгрейду, відкрийте тикет із виводом free -h і ps.

Часті запитання

Чи завжди 90%+ використання RAM — проблема?

Ні — Linux за задумом заповнює пам'ять кешем. Дивіться колонку available у free -h; проблема — коли available біля нуля, а swap працює безперервно.

Що таке OOM killer?

Механізм ядра, який при вичерпанні RAM примусово завершує найбільшого споживача пам'яті — часто це база даних. Його дії видно в журналі ядра командою dmesg.

Чи замінює swap купівлю додаткової RAM?

Ні — swap лише страхує від жорстких падінь. Якщо він використовується постійно, продуктивність страждає, і серверу справді потрібно більше оперативної пам'яті.

Схожі статті

Потрібна допомога? Звернутися в підтримку Cloud2Y →

Ця відповідь Вам допомогла? 0 Користувачі, які знайшли це корисним (0 Голосів)