Linux. Команда top

24.05.2023

Теги: CLILinuxКомандаКонфигурацияНастройкаПроцесс

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

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

На первой строке

  • текущее время
  • как долго работает система после последней загрузки
  • сколько в системе активных пользователей
  • средняя загрузка системы за последние 1 и 5 и 15 минут

На второй строке

  • общее количество процессов
  • количество работающих в данный момент
  • количество спящих процессов
  • количество остановленных процессов
  • количество зомби процессов

На третьей строке показана информация об использовании CPU

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

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

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

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

После общих данных о состеме идет таблица с информацией по каждому процессу.

По умолчанию в таблице 12 колонок (но это можно изменить, см. ниже)

  • 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 в процентах
  • %MEMRES в процентах от общего количества памяти
  • TIME+ — сколько времени с этим процессом работал ЦПУ, с точностью до сотых долей секунды
  • COMMAND — с помощью какой команды запустили процесс

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

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

  • M — для сортировки по использованию памяти
  • P — для сортировки по использованию CPU
  • N — для сортировки по идентификатору процесса
  • T — для сортировки по времени работы

По умолчанию результаты отображаются в порядке убывания, однако можно отсортировать в порядке возрастания с помощью команды R. Подсветить текущее поле сортировки таблицы можно с помощью команды x. Подсветить процессы, у которых поле S таблицы имеет значение R (running) можно с помощью команды y.

Изменить поле сортировки можно также с помощью команд < или > (не забывайте Shift) — поле изменяется с текущего на то, что слева или справа.

Представление общей информации

С помощью команд l, t, m можно переключать по кругу представление строк общей информации

  • команда l, load avg — показать или скрыть первую строку
  • команд t, задачи и процессор — показать, скрыть, изменить представление для CPU
  • команд m, память и файл подкачки — показать, скрыть, изменить представление

Представление таблицы процессов

Есть много команд, которые позволяют изменить представление таблицы процессов. Рассматривать все слишком долго, так что только некоторые.

  • команда c — переключатель, показывать/скрывать полный путь к командам
  • команда i — переключатель, показывать/скрывать неактивные задачи
  • команда V — переключатель, показывать/скрывать дерево процессов
  • команда S — переключатель, показывать/скрывать использованное процессорное время не только самого процесса, но и всех его дочерних процессов, которые уже отработали и умерли

Управление полями таблицы

Команда f или F открывает экран управления полями таблицы процессов, где показаны

  • имя текущего окна (см. ниже)
  • текущее поле сортировки
  • все поля в их текущем порядке

Записи, отмеченные звездочкой, являются текущими отображаемыми полями таблицы. Как указано в инструкции, перемещение по списку полей возможно с помощью клавиш со стрелками вверх и вниз. С помощью клавиш Home или End также можно перейти к первому или последнему полю.

Команда d (от display) позволяет показать или скрыть поле в таблице процессов (добавляет или убирает звездочку). Клавиша стрелка вправо захватывает поле, чтобы его можно было перемещать вверх или вниз. А клавиша стрелка влево фиксирует новое положение поля после перемещения.

Кроме того, с помощью команды s можно установить поле, по которому будут отсортированы записи таблицы процессов. Для выхода из экрана управления полями таблицы предназначены клавиши q или Esc.

Фильтрация строк таблицы

Команда u или U позволят указать пользователя, процессы которого нужно показать. Команда o или O позволяет указать поле и значение для фильтрации строк таблицы (например, COMMAND=top). Фильтров может быть несколько, посмотреть их можно с помощью Ctrl+O, команда = сбрасывает все фильтры.

Поиск в таблице процессов

Команда L позволяет ввести строку для поиска, команда & (не забывайте Shift) позволяет перейти к следующему найденному совпадению. Отменить поиск можно с помощью команды =.

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

Для этого предназначена команда k — будет предложено сначала ввести PID процесса, а потом — сигнал, который нужно ему отправить. Если оставить поле сигнала пустым — будет использоваться SIGTERM. Чтобы принудительно убить процесс — можно отправить SIGKILL. Также можно использовать номер сигнала — для SIGTERM номер равен 15, для SIGKILL номер равен 9.

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

Команда A переключает между полноэкранным режимом и режимом нескольких окон, каждое из которых можно настроить. Таблицы процессов в этих окнах показывают разный состав полей и разную сортировку.

  • окно 1:Def, сортировка по умолчанию %CPU
  • окно 2:Job, сортировка по умолчанию PID
  • окно 3:Mem, сортировка по умолчанию %MEM
  • окно 4:Usr, сортировка по умолчанию USER

В режиме управления полями (клавиша f) переключаться между окнами по кругу можно с помощью команд a или w — и таким образом настроить все четыре окна.

Переключение между окнами

Те четыре окна, о которых мы говорили выше, можно просматривать в полноэкранном режиме. Для переключения на другое окно предназначена команда g — будет предложено ввести номер окна. Если мы находимся в альтернативном режиме вывода, то для переключения окна предназначены команды a и w. Текущее окно показывается в начале первой строки общей информации о системе. Текущее окно — это то окно, куда будут отправляться наши команды.

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

Команда W сохранит настройки в домашней директории, так что при следующем запуске top — все текущие настройки будут восстановлены.

Получение справки по командам

Команда h показывает экран справки по работе в полноэкранном режиме. Из этой справки можно перейти к справке по работе в альтернативном режиме — опять с помощью команды h. Выход из справки — команда q или Esc.

Поиск: CLI • Linux • Команда • Конфигурация • Настройка • Процесс • top • CPU

Каталог оборудования
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Производители
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Функциональные группы
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.