Linux top сортировка памяти

How to display `top` results sorted by memory usage in real time?

How can I display the top results in my terminal in real time so that the list is sorted by memory usage?

On Linux, > and < move the sort column right and left. Since the %MEM column is just right of the %CPU column, which is also the default sort column, it takes only one keystroke to switch between the two. I know, your question has the macintosh tag, that's why I'm writing this answer as a comment.

If using htop , in addition to shift + M , you will likely want to turn off the display of threads and just show the main process memory consumption with shift + H . See unix.stackexchange.com/a/10403/27902.

9 Answers 9

Use the top command in Linux/Unix:

  • press shift + m after running the top command
  • or you can interactively choose which column to sort on
    • press Shift + f to enter the interactive menu
    • press the up or down arrow until the %MEM choice is highlighted
    • press s to select %MEM choice
    • press enter to save your selection
    • press q to exit the interactive menu

    Or specify the sort order on the command line

    # on OS-X top -o MEM # other distros top -o %MEM 

    References

    @GabrielHautclocq It must depend upon your distribution of Linux, and the package bundled with it. Debian 7 uses procps-ng and there is no -o option at all in that version. SHIFT-M works for me once top is launched.

    The command line option -o (o standing for «Override-sort-field») also works on my Xubuntu machine and according to the Mac man page of top it should work on a Macintosh too. If I want to short by memory usage I usually use

    which sorts by the column %MEM . But I can use VIRT , RES or SHR too. On a Macintosh I would probably use mem or vsize .

    I don’t know why or how but this is pretty much different between Unix systems and even between Linux distributions. For example -o isn’t even available on my Raspberry running Wheezy. It may be worth give it a try though.

    Источник

    Sysadminium

    В этой статье будет показана утилита top, с помощью которой можно наблюдать за активностью процессов в реальном времени.

    Утилита top

    Утилита top — это консольный диспетчер задач. Он показывает общую информацию о системе и информацию о каждом процессе. Работа этой утилиты выглядит следующим образом:

    Работа утилиты top

    Вы можете почитать официальный мануал по использованию top здесь, или выполните команду man top .

    Это не привычная нам утилита командной строки. Это — интерактивная утилита, то есть она постоянно обновляет данные и с ней можно взаимодействовать с помощью горячих клавиш.

    Вывод данной утилиты можно разбить на две части:

    • сверху — шапка. Здесь вы можете посмотреть на общую информацию о системе;
    • ниже — информация по каждому процессу.

    Общая информация о системе

    Как видно, шапка состоит из пяти строк.

    На первой и второй строке показана общая информация о системе:

    Утилита top - общая информация о системе

    На первой строке показаны следующие поля:

    • текущее время;
    • как долго работает система после последней загрузки;
    • сколько в системе активных пользователей;
    • средняя загрузка системы (load average) — три величины, усредненные за последние 1 и 5 и 15 минут. Чем ниже, тем лучше. Если превышает количество ядер на сервере, то значит сервер перегружен.
    • количество процессов;
    • количество работающих в данный момент процессов;
    • количество спящих процессов;
    • количество остановленных процессов;
    • количество зомби процессов.

    На третьей строке показана информация о потреблении ЦПУ:

    Утилита top - информация о потреблении ЦПУ

    • us — потребление cpu пользовательскими процессами (top и apache2);
    • sy — потребление cpu системными процессами;
    • ni — потребление cpu пользовательскими процессами, c измененным приоритетом (командой nice или renice);
    • id — простаивание cpu;
    • wa — процент времени, в течение которого процессор простаивал, ожидая завершения операции ввода-вывода. Если слишком высокое (более 10), значит за вашим процессором не поспевает диск, и нужно бы поменять его на более быстрый;
    • hi — процент времени работы аппаратных прерываний. Периферийные устройства могут прерывать работу процессора, чтобы передать какие-то данные;
    • si – процент времени работы программных прерываний. Некоторые приложения могут прерывать работу процессора, чтобы передать какие-то данные;
    • st — процент времени, когда реальный процессор не был доступен виртуальной машине. Будет расти если виртуальной машине выделить больше ядер, чем имеет гипервизор. Этот показатель имеет значение только в системах виртуализации.

    Ниже видим информацию по потреблению оперативной памяти (Mem) и подкачки (Swap):

    Утилита top - информация о потреблении оперативной памяти

    • total — общее количество памяти;
    • free — количество свободной памяти;
    • used — количество используемой памяти;
    • buff / cache — память выделенная под буфер и дисковый кэш;
    • avail Mem — память которая может быть выделена для запуска новых процессов.

    Информация по каждому процессу

    Ниже показана информация по каждому процессу. Информация разбита на следующие колонки:

    Информация по процессам

    • PID — номер процесса;
    • USER — имя пользователя под которым работает процесс;
    • PR — приоритет процесса;
    • NI — любезность процесса, чем она выше, тем ниже приоритет;
    • VIR — общее количество памяти, которое способен адресовать процесс в данный момент времени. Включает в себя RES, SHR, прикреплённые файлы (например — файлы библиотек). Также включает в себя память, которая была выделена, но не использована;
    • RES — количество физической памяти, которую использует процесс;
    • SHR — количество разделяемой памяти, которую использует процесс. Разделяемая память потенциально может быть разделена с другими процессами;
    • S — состояние процесса (я их уже описывал здесь):
      • S (sleeping) — спящий;
      • R (running) — в работе;
      • Z (zombie) — зомби;
      • D (uninterruptible sleep) — ожидает дискового ввода/вывода, и не принимает никакие сигналы;
      • T (stopped by job control signal) — остановлен специальным сигналом;
      • t (stopped by debugger during trace) — остановлен в процессе дебага;
      • I (Idle) — бездействующий поток ядра.
    • %CPU — использование cpu в процентах;
    • %MEM — RES в процентах от общего количества памяти;
    • TIME+ — сколько времени с этим процессом работал ЦПУ, с точностью до сотых долей секунды;
    • COMMAND — с помощью какой команды запустили процесс.

    Опции команды top

    Теперь пробежимся по основным опциям, с которыми можно запускать top.

    Количество итераций

    Опция -n укажет через сколько повторений нужно завершить работу top. По умолчанию чтобы выйти из top нужно нажать клавишу q. Следующая команда выйдет из top через 10 повторений:

    Процессы определённого пользователя

    Можно заставить top отображать процессы определенного пользователя с помощью опции -u:

    top - процессы пользователя www-data

    Горячие клавиши top

    Режим цветности

    Если во время работы top нажать клавишу z, это переключит режим цветности (белое на чёрном или черное на белом):

    top - изменение режима цветности

    Больше информации о команде (поле COMMAND)

    Если во время работы top нажать клавишу с, это заставит выводить больше информации о команде:

    top - абсолютный путь команды с опциями

    Сортировка процессов

    По умолчанию процессы отсортированы по колонке %CPU. Те что потребляют больше всего находятся сверху.

    Чтобы выделить столбец, по которому сейчас идет сортировка, нажмите клавишу x.

    top - сортировка по колонке USER

    Клавишами «» или «>«, можно выбрать столбец, по которому нужно сортировать процессы.

    А если нажать клавишу R, то сортировка пойдет в обратном порядке.

    Клавиша M отсортирует процессы по потреблению памяти (%MEM).

    Завершение процессов

    Из top можно завершить процесс, для этого нужно нажать клавишу k, далее ввести pid процесса, который хотим завершить и нажать Enter.

    По умолчанию процессу посылается сигнал 15 (sigterm). Но завершать чужие процессы можно только запустив top под пользователем root, или с помощью команды sudo.

    Сигналы, которые можно посылать процессам, я разберу чуть позже в этом курсе.

    Добавление полей

    По умолчанию отображаются далеко не все поля. Чтобы добавить поля нажмите клавишу F. Затем, с помощью клавиш вверх и вниз, вы можете перемещаться по полям. Чтобы добавить выбранное поле нажмите клавишу d или пробел. А чтобы выбрать поле для сортировки выделите его и нажмите s. Ну и чтобы вернуться в режим просмотра, нажмите q.

    top - добавление полей

    Итог

    Мы разобрали утилиту top для мониторинга за потреблением ресурсов Linux.

    Узнали следующие опции top:

    • -n — завершить top после нескольких итераций;
    • -u — показывать процессы определенного пользователя.

    Узнали горячие клавиши top:

    • z — изменить цветность;
    • c — более полная команда запуска;
    • — сортировать по предыдущему столбцу;
    • > — сортировать по следующему столбцу;
    • R — обратить сортировку;
    • M — сортировать по rss;
    • x — выделить колонку по которой ведётся сортировка;
    • k — завершить процесс;
    • F — настроить поля и сортировку.

    Источник

    Читайте также:  Как определить шлюз linux
Оцените статью
Adblock
detector