Как найти процессы с наибольшим потреблением памяти в Linux

Когда система начинает работать медленно или зависает, первое, что нужно проверить — какие процессы потребляют больше всего оперативной памяти. В Linux для этого существует несколько мощных инструментов командной строки. В этой статье я подробно расскажу, как определить самые «прожорливые» процессы и управлять ими.




Основные команды для анализа использования памяти

Команда top — базовый мониторинг

Самый простой способ посмотреть потребление памяти — использовать команду top:

Bash
top

После выполнения вы увидите интерактивную таблицу, где:

  • %MEM показывает процент использования памяти для каждого процесса
  • RES отображает реально используемую память в килобайтах
  • VIRT — общий объем виртуальной памяти

Сортировка процессов по потреблению памяти

Чтобы сразу отсортировать процессы по использованию памяти (от большего к меньшему), используйте:

Bash
top -o %MEM

Просмотр топ-N процессов

Для вывода только первых 10 самых «тяжелых» процессов:

Bash
top -o %MEM -n 1 | head -n 17

Обратите внимание: мы используем head -n 17, потому что первые 7 строк — это заголовки, а следующие 10 — собственно процессы.


Альтернативные методы анализа

Команда htop — улучшенная версия top

Установите (если нет):

Bash
sudo apt install htop  # для Debian/Ubuntu
sudo yum install htop  # для CentOS/RHEL

Запустите:

Bash
htop

Преимущества:

✅ Цветовое выделение
✅ Простая сортировка (F6)
✅ Возможность убивать процессы (F9)

Команда ps для конкретных данных

Для вывода списка процессов с потреблением памяти:

Bash
ps aux --sort=-%mem | head -n 10

Инструмент glances — всесторонний мониторинг

Установка:

Bash
pip install glances

Запуск:

Bash
glances

Как интерпретировать результаты

  1. %MEM — процент от общей доступной памяти
  2. RES — реальная используемая память (важнее всего)
  3. VIRT — виртуальная память (может быть больше физической)
  4. SHR — разделяемая память

Что делать с «прожорливыми» процессами?

Закрыть ненужные приложеня
Оптимизировать настройки (например, уменьшить количество вкладок в браузере)
Убить процесс (если он завис):

Bash
kill -9 PID

,где PID — идентификатор процесса из первого столбца

Поиск PID в top
Ввод команды kill -9

Добавить swap-область, если памяти постоянно не хватает


    Заключение

    Мониторинг использования памяти — важный навык для любого пользователя Linux. Регулярная проверка самых ресурсоемких процессов поможет поддерживать систему в оптимальном состоянии.

    Для более глубокого изучения рекомендую ознакомиться с man top и man ps. Если у вас есть вопросы или интересные случаи из практики — делитесь в комментариях!


    Дополнительные материалы:

    Was this helpful?

    2 / 0

    Добавить комментарий 0