Linux top — Мониторинг активных процессов

linux top менеджер процессов

top — консольная команда в linux (консольный диспетчер задач ), которая выводит список работающих в системе процессов и информацию о них.

Команда top используется для динамичного просмотра процессов системы в реальном времени. По дефолту программа показывает процессы которые грузят CPU, обновления происходят каждые 5 секунд.
Листинг программы top

У программы top существуют горячие клавиши. Опишем самые полезные из них:

t — Показывать себя (имеется ввиду программу top). Опции ON и OFF.
m — Показать использование памяти.
A — Переключение между режимами отображения процессов: Обычный и альтернативный. Альтернативный режим в не которых случаях более удобен, например когда нужно определить процесс, которому не хватает ресурсов системы.
f — Настройка параметров вывода. Стандартный вывод команды top определён как: AEHIOQTWKNMX. Можно добавить, например вывод UID и GROUP процесса.
o — Настройка очереди вывода. (Меняем местами столбцы вывода).
k — Убить процесс.
z — Цветовое отображение. On или Off.

Top — интерактивная программа, и после запуска полностью занимает терминал. Во время работы программы доступны различные команды, но в первую очередь следует запомнить две из них:

  • h — выводит экран помощи,
  • q — выход из программы.

По умолчанию top отображает на экране следующую информацию:

Как видно из примера, вывод программы делится на три части:

  • заголовок с суммарной информацией о загрузке системы,
  • строка ввода (в данный момент пустая),
  • отсортированный список процессов.

В заголовке отображается следующая информация:

  • Первая строка — загрузка системы.
    • Текущее время.
    • Время работы системы после включения питания (up time).
    • Количество пользователей, которые в данный момент работают в системе.
    • Средняя загрузка системы (load average) минуту, пять минут и пятнадцать минут назад.
  • Вторая строка — процессы.
    • total — общее количество процессов в системе.
    • running — количество процессов, выполняемых процессором или стоящих в очереди на выполнение.
    • sleeping — количество процессов, ожидающих какого-либо события ввода-вывода.
    • stoped — количество приостановленных процессов.
    • zombie — количество процессов, находящихся в состоянии «зомби» (подробнее о зомби будет рассказано ниже).
  • Третья строка — состояние процессора.
    • us — процент использования процессорного времени программами пользователей.
    • sy — процент использования процессорного времени процессами ядра Linux.
    • ni — процент использования процессорного времени программами с измененным приоритетом.
    • id — простой процессора.
  • Четвертая строка — использование оперативной памяти.
    • total — общее количество оперативной памяти.
    • used — количество использованной оперативной памяти.
    • free — количество свободной оперативной памяти.
  • Пятая строка — использование swap-пространства.
    • total — общее количество swap-пространства.
    • used — количество использованного swap-пространства.
    • free — количество свободного swap-пространства.

В списке процессов по умолчанию показаны следующие столбцы:

  • PID — PID процесса.
  • USER — пользователь, с правами которого выполняется процесс.
  • PR — приоритет процесса.
  • NI — на сколько больше или меньше процесс «нравится» (от слова nice) системе. То есть на сколько был изменен приоритет процесса.
  • VIRT — общее количество виртуальной памяти, используемой программой. Значение в килобайтах.
  • RES — количество резидентной (не перемещаемой в swap) памяти в килобайтах.
  • SHR — количество разделяемой (shared) памяти программы в килобайтах.
  • S — состояние процесса:
    • D — uninterruptible sleep.
    • R — процесс выполняется процессором или стоит в очереди на выполнение.
    • S — процесс ожидает событие ввода-вывода.
    • T — выполнение процесса приостановлено.
    • Z — состояние «зомби».