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