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

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

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

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

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

Как запустить top

Откройте терминал (на многих дистрибутивах работает сочетание клавиш Ctrl + Alt + T). Введите:

top

Откроется интерактивный интерфейс со списком процессов и несколькими столбцами: PID, USER, PR, NI, VIRT, RES, SHR, S, %CPU, %MEM, TIME+, COMMAND.

Вывод команды top (список процессов)

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

Чтобы отсортировать процессы по использованию памяти, нажмите в окне top сочетание клавиш Shift + M (то есть заглавную M). Это переключит порядок на убывание столбца %MEM. Повторное нажатие обновит сортировку по текущим значениям.

  • %MEM — процент от общей физической оперативной памяти.
  • RES/ RSS — объём физической памяти (resident set) в килобайтах, которую процесс реально занимает.

Вывод top, отсортированный по использованию памяти

Чтобы выйти из top и вернуться в приглашение терминала, нажмите q.

Важно: %MEM показывает процент от общей памяти, включая кеши ОС. При диагностике обращайте внимание на RES (resident) и SHR (shared), чтобы понять, сколько памяти реально «занято» процессом.

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

Если вы хотите получить похожую информацию в однократном выводе (неинтерактивно) или в скриптах, используйте ps:

ps aux --sort=-%mem | head -n 20

# или с явными полями
ps -eo pid,user,comm,%mem,rss --sort=-%mem | head -n 20

Другие инструменты:

  • htop — более дружелюбный интерактивный монитор, поддерживает горизонтальную сортировку и дерево процессов.
  • smem — показывает распределение памяти с учётом разделяемых страниц (полезно на серверах).
  • free, vmstat — для общей картографии памяти и свопа.

Пример запуска htop и сортировки:

htop
# в htop нажмите F6 для выбора столбца и выберите %MEM

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

  • Процесс может иметь высокий VIRT (виртуальная память), но низкий RES — это значит, что он зарезервировал много виртуальной памяти, но реально не использует её.
  • Совместно используемая память (SHR) может входить в RES нескольких процессов — суммарное потребление при агрегации будет меньше, чем простое суммирование RES.
  • Кеши и буферы ядра уменьшают видимый свободный объём RAM, но обычно они отдаются под приложения при необходимости.

Если вы видите процесс с большим %MEM, проверьте RES и SHR. Для проверки выделения страниц используйте pmap:

pmap -x  | less

Методология диагностики — пошагово

  1. Откройте top и нажмите Shift + M.
  2. Найдите процессы с высоким %MEM и большой RES.
  3. Определите владельца процесса (USER) и команду (COMMAND).
  4. При необходимости сядьте в систему как тот же пользователь и выполните pmap или lsof для изучения ресурсов.
  5. Если процесс ненужный — аккуратно перезапустите сервис или завершите его (kill/ systemctl restart).
  6. Проверьте логи приложения и системные логи (journalctl, /var/log) на предмет утечек памяти.

Чек-листы по ролям

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

  • Открыть top, Shift + M.
  • Проверить RES, SHR и %MEM.
  • Использовать smem для распределённого анализа памяти.
  • Перезапустить сервис корректно через systemctl.
  • Отследить историю использования памяти через мониторинг (Prometheus/Grafana/ELK).

Пользователь рабочего стола:

  • Открыть top или htop.
  • Закрыть лишние вкладки браузера (частая причина высокого использования RAM).
  • При необходимости перезапустить приложение или выйти из сеанса и войти снова.

Сохранение настроек top

Если нужно, чтобы top всегда открывался с той же сортировкой, нажмите W (заглавная W) во время работы top — это запишет настройки в файл ~/.toprc.

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

  • Можно открыть top и отсортировать процессы по %MEM нажатием Shift + M.
  • RES процесса понятен и позволяет оценить реальное использование RAM.
  • Имеется план действий: перезапуск сервиса, анализ логов или увеличение ресурсов.

Глоссарий в одну строку

  • %MEM — процент используемой физической памяти; RES — resident set size (фактическая RAM процесса); VIRT — зарезервированная виртуальная память.

Часто задаваемые вопросы

Как автоматически сортировать процессы по памяти при каждом запуске top?

Откройте top, выставьте сортировку Shift + M, затем нажмите W — настройки сохранятся в ~/.toprc и будут применяться при последующих запусках.

В чем разница между %MEM и RES?

%MEM — это процент от общей физической памяти, занятый процессом; RES — объём физической памяти в килобайтах, реально используемой процессом.


Краткое резюме: top с Shift + M — быстрый способ увидеть, кто ест RAM; для подробного и аккуратного анализа проверяйте RES/SHR, используйте ps/htop/smem и сохраняйте настройки через W.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

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

Исправить ERROR_WAS_LOCKED (код 717) в Windows
Windows

Исправить ERROR_WAS_LOCKED (код 717) в Windows

Остановить принудительное обновление BIOS в Windows 11
Windows

Остановить принудительное обновление BIOS в Windows 11

Изменить подписку Adobe Creative Cloud
How-to

Изменить подписку Adobe Creative Cloud

MySQL Operator в Kubernetes: установка и эксплуатация
Базы данных

MySQL Operator в Kubernetes: установка и эксплуатация

Отключение пароля после сна в Windows 11
Windows

Отключение пароля после сна в Windows 11

Защита Windows при работе из дома
Безопасность

Защита Windows при работе из дома