Как использовать команду top в Linux (и понимать ее вывод)

Опубликовано: 2022-01-29
Терминальная подсказка на ноутбуке с Linux.
Фатмавати Ахмад Заэнури/Shutterstock

Команда top в Linux является одним из основных элементов Unix-подобных операционных систем. Его утилитарный дисплей заполнен полезной информацией о запущенных процессах вашей системы и использовании ресурсов. Но знаете ли вы, что он также поддерживает цвет, подсветку и даже элементарные графики?

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

top команда существует с 1984 года, и существует множество ее вариантов. Для этой статьи мы используем Ubuntu 18.04 со всеми примененными исправлениями и версию 3.3.12 top . Мы также сделали перекрестные ссылки на два других тестовых компьютера, на одном из которых работала Fedora, а на другом — Manjaro.

10 основных команд Linux для начинающих
СВЯЗАННЫЕ 10 основных команд Linux для начинающих

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

Дисплей лучше всего описывается как функциональный, а не как интуитивно понятный, а сокращений предостаточно. Когда вы впервые сталкиваетесь с top , он кажется тесным, загадочным и отталкивающим. Однако с помощью нескольких нажатий вы можете настроить содержимое и формат дисплея в соответствии с тем, что для вас важно.

Проверьте свою версию топа

Чтобы проверить, какая у вас версия top, введите в окне терминала следующее:

 топ -v 

Реклама

Если ваша версия значительно отстает от 3.3.12, она может не поддерживать все функции, которые мы рассмотрим.

Дисплей по умолчанию

Вы можете начать top , набрав следующее и нажав «Enter»:

 верхняя 

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

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

В третьей строке отображаются следующие значения центрального процессора (ЦП):

  • us: количество времени, которое ЦП тратит на выполнение процессов для людей в «пользовательском пространстве».
  • sy: количество времени, затраченное на выполнение системных процессов «пространства ядра».
  • ni: количество времени, потраченное на выполнение процессов с установленным вручную значением nice.
  • id: количество времени простоя процессора.
  • wa: количество времени, которое ЦП тратит на ожидание завершения ввода-вывода.
  • hi: Количество времени, потраченное на обслуживание аппаратных прерываний.
  • si: количество времени, потраченное на обслуживание программных прерываний.
  • st: количество времени, потерянного из-за работы виртуальных машин («украденное время»).

Четвертая строка показывает общий объем (в кибибайтах) физической памяти, а также объем свободной, используемой, буферизованной или кэшированной.

Пятая строка показывает общий объем (также в кибибайтах) памяти подкачки, а также сколько свободно, используется и доступно. Последняя включает в себя память, которая, как ожидается, может быть восстановлена ​​из кэшей.

Реклама

Заголовки столбцов в списке процессов следующие:

  • PID: идентификатор процесса.
  • ПОЛЬЗОВАТЕЛЬ: владелец процесса.
  • PR: приоритет процесса.
  • Н.И.: Хорошая ценность процесса.
  • VIRT: объем виртуальной памяти, используемой процессом.
  • RES: объем резидентной памяти, используемый процессом.
  • SHR: объем общей памяти, используемой процессом.
  • S: Статус процесса. (См. список ниже для значений, которые может принимать это поле).
  • %CPU: доля процессорного времени, используемого процессом с момента последнего обновления.
  • %MEM: доля используемой физической памяти.
  • ВРЕМЯ+: общее время ЦП, используемое задачей, в сотых долях секунды.
  • КОМАНДА: имя команды или командная строка (имя + параметры).

Значения памяти показаны в кибибайтах. Столбец COMMAND находится за пределами экрана, справа — он не помещается на изображении выше, но вскоре мы его увидим.

Статус процесса может быть одним из следующих:

  • Д: Непрерывный сон
  • Р: бег
  • С: спать
  • T: Прослежено (остановлено)
  • З: Зомби

Нажмите Q, чтобы выйти top .

Прокрутка дисплея

Вы можете нажимать клавиши со стрелками вверх или вниз, Home, End и Page Up или Down для перемещения вверх и вниз и доступа ко всем процессам.

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

На изображении ниже мы несколько раз нажали стрелку вправо, чтобы увидеть столбец COMMAND .

Изменение числовых единиц

Давайте изменим единицы отображения на разумные значения. Нажимайте заглавную букву E, чтобы переключаться между единицами измерения, используемыми для отображения значений памяти в следующих параметрах: кибибайты, мебибайты, гибибайты, тебибайты, пебибайты и эксбибайты. Используемая единица измерения — это первый элемент в четвертой и пятой строках.

Реклама

Нажмите строчную букву «e», чтобы сделать то же самое для значений в списке процессов: кибибайты, мебибайты, гибибайты, тебибайты и пебибайты.

Мы нажали E, чтобы установить единицы памяти приборной панели в гибибайты, и «e», чтобы установить единицы памяти списка процессов в мегабайты.

Изменение сводного содержания

Вы можете изменить настройки отображения линий в дашборде или удалить их совсем.

Нажмите l, чтобы включить или выключить строку сводки нагрузки (первая строка). Мы удалили сводную строку загрузки на изображении ниже.

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

Реклама

Конечно, это занимает больше места на экране в окне терминала.

Вы можете нажать «t», чтобы переключить дисплеи ЦП на простые графики ASCII, которые показывают процент использования для каждого ЦП.

Для каждого процессора top отображаются три числа и график. Слева направо цифры следующие:

  • Суммарный процент us и ni (пользовательское пространство+задачи с нестандартными красивыми настройками).
  • Процент sy (пространство ядра).
  • Итого (округлено до целого числа).

Нажмите «t» еще раз, чтобы изменить отображение графика на сплошные блочные символы.

Нажмите «t» еще раз, чтобы полностью удалить отображение ЦП и строку сводки задач.

Нажмите «m», чтобы прокрутить память и поменять местами строки памяти с помощью различных вариантов отображения. При первом нажатии статистика заменяется графиком ASCII.

Еще одно нажатие изменяет график на блочные символы.

Реклама

Нажмите «m» еще раз, чтобы полностью удалить линии ЦП.

Если вы хотите, вы можете увидеть графики ЦП и памяти одновременно. Просто нажимайте «t» и «m», пока не получите нужную комбинацию.

Цвет и выделение

Вы можете нажать «z», чтобы добавить цвет на дисплей.

Когда вы думаете о top , вы, вероятно, не думаете о цветных дисплеях и графиках ASCII, но они встроены прямо в него.

Нажмите «y», чтобы выделить запущенные задачи в списке процессов. Нажатие «x» выделяет столбец, используемый для сортировки списка процессов. Вы можете переключаться между полужирным и инвертированным выделением текста, нажимая «b».

Сортировка по столбцам

По умолчанию список процессов отсортирован по столбцу %CPU . Вы можете изменить столбец сортировки, нажав следующее:

  • P: Столбец %CPU .
  • M: Столбец %MEM .
  • N: столбец PID .
  • T: Столбец TIME+ .
Реклама

На изображении ниже список процессов отсортирован по столбцу PID .

См. Полную командную строку

Нажатие «c» переключает столбец COMMAND между отображением имени процесса и полной командной строки.

Чтобы увидеть «дерево» процессов, которые были запущены или порождены другими процессами, нажмите V.

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

Нажмите «u», чтобы увидеть процессы для одного пользователя. Вам будет предложено ввести имя или UID.

Введите имя UID человека, за которым вы хотите следить. Мы напечатаем «dave» и нажмем «Enter». Теперь единственные процессы в области задач принадлежат пользователю dave .

Видеть только активные задачи

Нажмите I, чтобы увидеть только активные задачи.

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

Установите, сколько процессов отображать

Нажмите «n», чтобы ограничить отображение определенным количеством строк, независимо от того, активны ли задачи. Вам будет предложено указать количество процессов для отображения.

Реклама

Мы набрали 10 и нажали Enter, поэтому в области задач появилось 10 процессов.

Восстановить процесс

Вы можете нажать «r», чтобы изменить значение nice (приоритет) для процесса. Вам будет предложено ввести идентификатор процесса. Просто нажмите Enter, чтобы использовать идентификатор процесса задачи в верхней части окна процесса. Мы вводим 7800, который является идентификатором процесса экземпляра Firefox.

После того, как вы нажмете Enter, вам будет предложено ввести новое значение nice, которое будет применено к процессу. Набираем 15, а затем нажимаем Enter.

Новое значение nice применяется к процессу немедленно.

СВЯЗАННЫЕ С: Как установить приоритеты процессов с помощью nice и renice в Linux

Убить процесс

Нажмите «k», чтобы убить процесс. Затем вам будет предложено ввести идентификатор процесса, который вы хотите убить. По сути, вы можете послать процессу любой сигнал. Мы собираемся убить процесс 7879, который перестал отвечать.

Реклама

Вам будет предложено ввести сигнал, который вы хотите отправить. Вы можете указать его по имени или номеру. Если вы просто нажмете Enter, top отправит сигнал SIGTERM (kill).

Как только вы нажмете Enter, процесс отправит сигнал.

СВЯЗАННЫЕ С: Как убить процессы из терминала Linux

Настройка дисплея

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

Нажмите заглавную Z, чтобы перейти на страницу настроек цвета. В верхней части экрана показаны цвета, используемые различными элементами дисплея. Чтобы указать, какой элемент отображения вы хотите изменить, нажмите одну из следующих клавиш с учетом регистра:

  • S : Область сводных данных.
  • M : Сообщения и подсказки.
  • H : Заголовки столбцов.
  • T : Информация о задаче в списке процессов.

Мы нажимаем M, чтобы изменить подсказки.

Чтобы выбрать цвет, нажмите одну из следующих цифр:

  • 0: Черный.
  • 1: Красный.
  • 2: зеленый.
  • 3: желтый.
  • 4: Синий.
  • 5: Пурпурный.
  • 6: голубой.
  • 7: белый.

Мы нажимаем 6, чтобы использовать голубой.

Нажмите Enter, чтобы сохранить настройки. Подсказки для ввода теперь будут окрашены в выбранный вами цвет.

Реклама

Мы также можем изменить столбцы, отображаемые на экране «Управление полями». Нажмите F, чтобы открыть экран управления полями.

Отображаемые поля отмечены звездочкой ( * ) рядом с ними и выделены жирным шрифтом. Нажимайте стрелки вверх и вниз, чтобы перемещать выделение по списку полей.

Если вы переместите выделение с нижней части столбца, оно появится вверху следующего (если вы не находитесь внизу последнего столбца). Если вы переместите его из верхней части столбца, он появится внизу предыдущего (если вы не находитесь в верхней части первого столбца).

Мы переместили выделение на запись COMMAND , а затем нажали «d», чтобы удалить звездочку ( * ). Затем мы перешли к записи UID и нажали «d», чтобы поставить звездочку рядом с этой записью. Это означает, что столбец COMMAND не будет отображаться, но будет отображаться столбец UID .

Пока выделение находится в столбце UID , мы нажимаем «s», чтобы отсортировать список процессов в столбце UID .

Нажмите Enter, чтобы сохранить настройки, а затем нажмите «q», чтобы выйти из экрана «Управление полями».

Реклама

Столбец UID заменил столбец COMMAND , и список процессов отсортирован по нему.

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

Лучше всего это работает в полноэкранном режиме. Нажмите A, чтобы отобразить четыре области в списке процессов, а затем нажмите «a», чтобы перейти от области к области.

Каждая область имеет свой набор столбцов, но каждый из них также настраивается с помощью экрана «Управление полями». Это дает вам возможность иметь полноэкранный настраиваемый дисплей, показывающий различную информацию в каждой области, и возможность сортировать каждую область по другому столбцу.

Другие нажатия клавиш

Ниже приведены некоторые другие ключи, которые могут оказаться полезными в top :

  • W : Сохраните свои настройки и настройки, чтобы они по-прежнему действовали при следующем top .
  • d : установите новую частоту обновления экрана.
  • Пробел : Принудительно top свое отображение прямо сейчас.

Топ Банан

Как мы видели, у top довольно большой репертуар. Другие программы, такие как htop , были вдохновлены этим, но у каждой из них есть свой взгляд на вещи.

Реклама

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

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

СВЯЗАННЫЕ С: Лучшие ноутбуки с Linux для разработчиков и энтузиастов