Гид по технологиям

Как сортировать процессы по использованию памяти в top на Linux

4 min read Linux Обновлено 13 Apr 2026
Сортировка процессов по памяти в top
Сортировка процессов по памяти в top

Терминал с командой top, выделенной зелёным текстом

Определить, какие процессы занимают больше всего памяти, в Linux не так просто, как в Windows. Но команда top встроена почти в любой дистрибутив и позволяет увидеть, сколько памяти использует каждый процесс. По умолчанию вывод не отсортирован по использованию памяти, однако изменить порядок можно в несколько нажатий.

Быстрый пример

  1. Откройте терминал (обычно Ctrl + Alt + T).
  2. Введите команду top и нажмите Enter.
  3. Нажмите Shift + M — столбец %MEM отобразит процессы в порядке убывания использования памяти.
  4. Для выхода нажмите Q.

Вывод команды top с таблицей процессов Linux

Нажатие Shift + M упорядочивает список по столбцу %MEM, показывая сначала самые «тяжёлые» приложения по потреблению оперативной памяти. Повторное нажатие обновляет сортировку по текущим значениям.

top, отсортированный по использованию памяти, колонка %MEM вверху

Подробные шаги

Открытие терминала

На большинстве окружений рабочего стола достаточно нажать Ctrl + Alt + T или найти «Терминал» в меню приложений.

Запуск top

В терминале введите:

top

Это откроет интерактивный интерфейс с таблицей, где видно PID, USER, %CPU, %MEM, VIRT, RES и другие колонки.

Сортировка по памяти

Нажмите Shift + M (заглавная M). После этого строки перестроятся так, что вверху будут процессы с наибольшим %MEM. Обратите внимание на столбцы:

  • %MEM — процент от общей физической памяти.
  • RES — реальный объём RAM, занимаемый процессом (без учёта swap и общей памяти).
  • VIRT — виртуальная память процесса.
  • SHR — разделяемая память.

Выход

Нажмите Q, чтобы выйти из интерфейса top и вернуться в командную строку.

Когда это не подходит

  • На минималистичных системах top может быть отсутствующим (редко) — установите пакет procps или используйте ps.
  • Для контейнеров Docker/систем с cgroups нужно смотреть статистику внутри контейнера или с помощью docker stats/podman stats, поскольку top на хосте может показывать агрегированные значения.
  • top показывает моментальные значения; для длительного мониторинга используйте системные метрики или инструменты сбора (Prometheus, collectd).

Альтернативные инструменты и команды

  • htop — интерактивный и удобный, поддерживает сортировку мышью и клавишами:
sudo apt install htop    # Debian/Ubuntu
htop
  • ps — быстрый однострочный снимок, полезно в скриптах:
ps aux --sort=-%mem | head -n 20
  • free — вывод общего объёма памяти:
free -h
  • vmstat, smem — для более детального анализа распределения памяти.

Сниппет: быстро найти топ-5 по памяти

ps aux --sort=-%mem | awk 'NR<=6 {print}'

Этот однострочник показывает заголовок и первые 5 процессов по %MEM.

Ментальные модели и краткие правила

  • %MEM указывает долю от всей физической RAM; RES показывает реальный размер в RAM — смотрите оба.
  • Высокий VIRT без высокого RES часто означает, что процесс зарезервировал адресное пространство, но реально не использует память.
  • Большой RES + высокий SHR может означать, что память разделяется между процессами (например, общие библиотеки).

Короткая методология диагностики

  1. Отсортируйте процессы по памяти (Shift + M в top и ps aux --sort=-%mem).
  2. Посмотрите RES и %MEM — это реальные потребления.
  3. Проверьте, не использует ли процесс swap (swapon -s и free -h).
  4. Если процесс неожиданно большой — попробуйте перезапустить службу безопасно (systemctl restart или kill с осторожностью).

Критерии приёмки

  • Видно 5 процессов с наибольшим %MEM.
  • Для каждого процесса доступны PID, пользователь и RES.
  • Вы понимаете, можно ли безопасно перезапустить или остановить процесс.

Ролевые чек-листы

Администратор:

  • Открыл top/htop и отсортировал по памяти.
  • Просмотрел связанные журналы (journalctl -u ).
  • Если критично, перезапустил службу с учётом зависимостей.

Пользователь настольной системы:

  • Определил тяжёлое приложение (браузер, VM) и закрыл лишние вкладки.
  • Перезапустил приложение или вышел из сеанса.

Небольшой глоссарий (1 строка на термин)

  • %MEM — процент от общей физической ОЗУ, используемый процессом.
  • RES — реальная (resident) память в RAM, занятая процессом.
  • VIRT — виртуальная память, включая своп и зарезервированное пространство.
  • SHR — объём разделяемой памяти.

Краткое руководство по реагированию (runbook)

  1. Идентифицировать процесс (PID) в top или ps.
  2. Посмотреть, к какому сервису он относится: systemctl status или ps -p -o cmd=.
  3. Попробовать мягко перезапустить сервис: systemctl restart .
  4. Если сервис не отвечает — мягко завершить процесс: kill , при неэффективности kill -9 (последний шаг — риск потери данных).

Важно: всегда сначала сохраняйте/закрывайте данные, если процесс принадлежит пользователю.

Примеры, когда сортировка по памяти вводит в заблуждение

  • Большой VIRT и маленький RES — процесс не потребляет много реальной памяти.
  • Много процессов с одинаковым базовым изображением (shared libraries) покажут высокий SHR; суммировать SHR для оценки общего использования нельзя.

Итог

Команда top — быстрый и доступный способ увидеть, какие процессы потребляют больше всего памяти. Для скриптов и удалённых снимков используйте ps, для интерактивной работы — htop. Всегда сверяйте %MEM и RES и учитывайте влияние разделяемой памяти и swap.

Авторские заметки:

  • Если вам нужно постоянное визуальное отображение — рассмотрите Conky или системный монитор в вашем окружении.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Как блокировать PUA в Windows Defender
Безопасность

Как блокировать PUA в Windows Defender

Угрозы iPhone и iPad: что знать и как защититься
Безопасность

Угрозы iPhone и iPad: что знать и как защититься

Google Home: установка, управление и проблемы
Умный дом

Google Home: установка, управление и проблемы

30-дневные финансовые вызовы: план и чек-листы
Личные финансы

30-дневные финансовые вызовы: план и чек-листы

Ретро‑игры на Linux с Wine и PlayOnLinux
Игры

Ретро‑игры на Linux с Wine и PlayOnLinux

Создание GIF онлайн: gifninja и альтернативы
Графика

Создание GIF онлайн: gifninja и альтернативы