MEVCORE

Процеси в Linux: top, htop, ps і kill

Оновлено 09.10.2026

Коли сервер гальмує, перше, що потрібно з'ясувати, — який процес забирає ресурси. Загальна діагностика навантаження описана в статті «Як перевірити навантаження на VPS», а тут — робота з окремими процесами.

htop — наочний список процесів

sudo apt install htop     # Ubuntu, Debian
sudo dnf install htop     # AlmaLinux, Rocky
htop
  • угорі — завантаження кожного ядра, пам'ять і swap;
  • F6 — сортування (за CPU% або MEM%);
  • F3 — пошук процесу, F4 — фільтр;
  • F5 — дерево процесів;
  • F9 — завершити вибраний процес;
  • q — вихід.

Якщо htop немає, є вбудований top: P — сортувати за процесором, M — за пам'яттю, q — вихід.

ps — знайти процес

ps aux | grep php
ps aux --sort=-%mem | head -10      # 10 процесів, що займають найбільше пам'яті
ps aux --sort=-%cpu | head -10      # 10 найбільш навантажувальних
pgrep -a nginx                      # PID і команди процесів за назвою

Друга колонка у виводі ps aux — PID, ідентифікатор процесу.

kill — завершити процес

kill 12345          # коректно попросити процес завершитися (SIGTERM)
kill -9 12345       # примусово «вбити», якщо не реагує (SIGKILL)
pkill -f script.php # за назвою або частиною команди
killall php         # усі процеси з такою назвою

Спочатку завжди пробуйте звичайний kill — він дає програмі зберегти дані. kill -9 — крайній захід.

Не вбивайте процеси служб (nginx, mysqld, php-fpm) вручну — їх перезапустить systemd або вони залишать пошкоджені дані. Для служб використовуйте systemctl restart — див. керування службами.

Довгі команди, які не мають перерватися

Якщо закрити SSH-сесію, запущена в ній команда завершиться. Для імпорту бази, копіювання чи оновлення, які тривають довго, використовуйте screen або tmux:

sudo apt install screen
screen -S import          # створити сесію з назвою
# ... запустіть команду ...
# Ctrl+A, потім D — від'єднатися, команда продовжить роботу
screen -r import          # повернутися до сесії
screen -ls                # список сесій

Простіший варіант для однієї команди — nohup:

nohup php import.php > import.log 2>&1 &

Вивід команди потрапить у import.log.

Процес «їсть» пам'ять, а потім зникає

Якщо пам'ять закінчується, ядро саме завершує найбільший процес (OOM killer). Перевірте:

sudo dmesg -T | grep -i "killed process"

Допоможе swap-файл, оптимізація або більший тариф.

Не знайшли відповідь?

Опишіть завдання, додайте текст помилки та скриншот — команда підтримки допоможе знайти наступний крок.

Як до вас звертатися?

Введіть ім’я, перш ніж почати діалог.

Вітаємо! Напишіть ваше питання — оператор відповість якнайшвидше.
Оцініть відповідь оператора