Коротка відповідь: Спершу гляньте free -h і читайте колонку available — те, що Linux тримає більшість RAM під кеш, нормально і корисно. Справжня проблема виглядає як мала available памʼять плюс рядки OOM-кілера в dmesg. Знайдіть головних споживачів через ps aux --sort=-%mem | head і перезапустіть сервіс, що тече.

Огляд

Половина тривог «RAM закінчилася!» хибні: кешована памʼять звільняється на вимогу і свідчить, що ядро робить свою справу. Цей чекліст відділяє здорове кешування від справжнього дефіциту памʼяті, який вбиває процеси й заморожує сервери.

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

  • Доступ по SSH або через KVM Console.

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

  1. Прочитайте реальний запас:
    free -h
    Хвилюйтеся лише коли available — мала частка від загального обсягу.
  2. Перевірте, чи ядро вже когось убило:
    sudo dmesg -T | grep -i 'out of memory'
    sudo journalctl -k | grep -i oom
    OOM-кіл пояснює загадково мертві сервіси.
  3. Перелічіть найважчі процеси:
    ps aux --sort=-%mem | head -10
    Типові порушники: mysqld, завеликі пули php-fpm, node-застосунки, панелі керування на малих планах.
  4. Стабілізуйте: перезапустіть сервіс, що тече; довгоживучим PHP/node-воркерам корисна періодична ротація (наприклад, PHP-FPM pm.max_requests).
  5. Додайте запас міцності: налаштуйте swap, якщо його немає, — він перетворює жорсткі OOM-падіння на мʼяке сповільнення.
  6. Повторюваний дефіцит при всьому натюненому = навантаженню потрібно більше RAM; оновіть план.

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

  • MySQL вбивається щоночі: класичний OOM-патерн на малих VPS під час бекапів — зменшіть буфери або додайте swap.
  • Завеликий пул PHP-FPM: pm.max_children × памʼять на воркер має вміщатися в RAM.
  • Взагалі немає swap: один сплеск трафіку може OOM-нути базу; навіть 1–2 GB swap поглинають піки.

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

Якщо використання памʼяті значно більше за суму ваших процесів, або сервер зависає попри достатню available-памʼять, — відкрийте тикет із free -h, витягами OOM і часовими мітками.

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

Linux показує майже нуль вільної памʼяті — це проблема?

Зазвичай ні: Linux навмисно використовує простоюючу RAM під дисковий кеш і звільняє її на вимогу. Оцінюйте дефіцит за колонкою available у free -h та OOM-повідомленнями, а не за колонкою free.

Як підтвердити, що OOM-кілер зупинив мій сервіс?

Пошукайте в повідомленнях ядра: dmesg -T | grep -i "out of memory" або journalctl -k. Ядро логує, який саме процес воно вбило, коли, і стан памʼяті на той момент.

Схожі статті

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

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