Описание основных команд Linux

Обновлено: 21.11.2024

Команда

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

  • PID: показывает уникальный идентификатор процесса задачи.
  • PR: обозначает приоритет задачи.
  • SHR: представляет объем общей памяти, используемой задачей.
  • VIRT: общий объем виртуальной памяти, использованной задачей.
  • ПОЛЬЗОВАТЕЛЬ: имя пользователя владельца задачи.
  • %CPU: представляет использование ЦП.
  • ВРЕМЯ+: время ЦП, то же, что и "ВРЕМЯ", но с большей детализацией с точностью до сотых долей секунды.
  • SHR: представляет размер общей памяти (КБ), используемый задачей.
  • NI: представляет хорошую ценность задачи. Отрицательное значение nice подразумевает более высокий приоритет, а положительное значение Nice означает более низкий приоритет.
  • %MEM: показывает использование памяти задачей.

Примеры:

1) Выход из верхней команды после определенного повторения: верхний вывод продолжает обновляться, пока вы не нажмете «q». С приведенной ниже командой верхняя команда автоматически завершится после 20 повторений.

2) Показать определенный пользовательский процесс

3) Выделите запущенный процесс сверху: нажмите кнопку «z» в запущенной команде top, чтобы отобразить запущенный процесс в цвете, что может помочь вам легко идентифицировать запущенный процесс

4) Показывает абсолютный путь к процессам: нажмите «c» при запуске команды top, он отобразит абсолютный путь к запущенному pro

5) Завершить запущенный процесс: вы можете завершить процесс после обнаружения PID процесса, нажав опцию «k» в запущенной команде top, не выходя из верхнего окна, как показано ниже.

6) Сортировка по загрузке ЦП: нажмите (Shift+P), чтобы отсортировать процессы по загрузке ЦП.

7) Показывает синтаксис верхней команды:

8) Пакетный режим: отправка вывода сверху в файл или любую другую программу.

9) Безопасный режим: используйте top в безопасном режиме.

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

11) Время задержки: указывает время задержки между обновлениями экрана.

Команда top (таблица процессов) показывает в режиме реального времени запущенные процессы в Linux и отображает задачи, управляемые ядром. Команда также предоставляет сводную информацию о системе, которая показывает использование ресурсов, включая использование ЦП и памяти.

В этом руководстве вы научитесь использовать команду top в Linux.

  • Система под управлением Linux.
  • Доступ к окну терминала.
  • Права администратора/sudo.

Синтаксис и параметры верхней части команды

Чтобы запустить команду top, введите top в командной строке и нажмите Enter. Команда запускается в интерактивном командном режиме, показывая активные процессы и другую системную информацию. Настройте представление, используя доступные параметры.

Ниже приведен основной синтаксис команды со всеми доступными параметрами и флагами:

Переключатель (-) и пробельные символы необязательны.

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

Если список процессов длинный, прокрутите его с помощью стрелок вверх и вниз и клавиш Page Up и Page Down. Чтобы выйти из top , нажмите q.

Отправить сигнал

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

Здесь мы убили процесс mysql 1207 .

Примечание. Ознакомьтесь с другими способами завершения процесса для повышения производительности системы. А если вам нужно, чтобы процессы завершались даже после выхода из системы, ознакомьтесь с нашей статьей «Как использовать команду nohup в Linux».

Выйти после X повторений

Команда top продолжает обновлять статистику до выхода из программы нажатием q. Указать top автоматически закрыться после обновления статистики заданное количество раз.

Для [X] укажите, сколько раз вы хотите, чтобы top обновлял вывод.

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

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

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

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

Фильтрация процессов по конкретному пользователю

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

При нажатии клавиши u в интерактивном режиме запрашивается имя или идентификатор пользователя.

В приведенном выше примере выходные данные показывают только процессы для пользователя root.

Изменить единицы отображения

  • кибибайты (КиБ)
  • мебибайты (МиБ)
  • гибибайты (ГиБ)
  • тебибайты (ТиБ)
  • пебибайты (ПиБ)
  • эксбибайты (EiB — применяется только для значений памяти)

Используемое в данный момент значение — это первый элемент в четвертой и пятой строках.

В следующем примере мы установили единицы памяти панели мониторинга в гибибайты, а единицы памяти списка процессов — в мегабайты:

Изменить содержимое вывода

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

Статистика отдельных ядер ЦП

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

График использования ЦП

Если вам нужно графическое представление использования ЦП, top поддерживает элементарные графики ASCII, обозначающие использование каждого ядра ЦП. Включите или выключите графики, нажав t.

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

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

График использования памяти

Команда также поддерживает параметры графического отображения памяти и строк памяти подкачки. Чтобы получить визуальное представление об использовании памяти, нажмите m. Удалите линии, снова нажав m.

Изменить цвет текста

Выделите информацию в выводе, добавив к нему цвет. Нажмите клавишу z, чтобы добавить цвет на дисплей:

По умолчанию цвет меняется на красный. Для дальнейшей настройки элементов отображения и выбора другого цвета выполните следующие действия:

<р>1.Откройте страницу настроек цвета, нажав Z.

<р>2. Выберите элемент отображения, который вы хотите изменить, нажав:

  • С. Область сводных данных.
  • М. Сообщения и подсказки.
  • Х. Заголовки столбцов.
  • Т. Информация о задаче в списке процессов.

Нажмите Enter, чтобы подтвердить свой выбор.

<р>3. Выберите цвет для выбранного элемента с помощью одной из следующих клавиш:

Подтвердите свой выбор, нажав Enter.

Теперь протестируйте новые настройки:

Мы проинструктировали top напечатать список процессов зеленым цветом, как вы видите в примере выше.

Показать командную строку процесса

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

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

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

Представление в виде дерева полезно, когда вы хотите увидеть иерархию дочерних и родительских процессов в вашей системе.

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

Чтобы отфильтровать вывод и показать только активные задачи, нажмите клавишу I.

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

Ограничить количество процессов

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

Например, мы хотим показать только первые 5 процессов:

Изменить приоритет процесса

Команда top позволяет изменить приоритет процесса (значение nice).

Выполните следующие действия:

<р>1. Запустите сверху и нажмите клавишу r.

<р>2. При появлении запроса введите идентификатор процесса и нажмите Enter.

<р>3. После того, как вы введете PID, программа запросит новое значение nice. Введите новое значение и нажмите Enter.

Примечание. Отрицательные значения nice указывают на более высокий приоритет процесса.

Например, мы установили значение nice 10 для экземпляра процесса VBoxClient:

Процессы фильтрации

Функция верхнего фильтра позволяет использовать выражение фильтра, чтобы ограничить список процессов, отображаемых в списке. Активируйте опцию фильтра, нажав клавишу o. Программа предложит вам ввести выражение фильтра.

Например, мы ввели следующий фильтр:

Команда top теперь показывает только процессы, использующие более 5 % памяти. Очистите фильтры, нажав = .

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

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

Дэйв Маккей

Дэйв Маккей
Писатель

Фатмавати Ахмад Заэнури/Shutterstock

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

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

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

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

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

Проверьте свою версию top

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

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

Отображение по умолчанию

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

На изображении ниже список процессов отсортирован по столбцу 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 применяется к процессу немедленно.

Завершить процесс

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

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

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

Настройка отображения

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Другие сочетания клавиш

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

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

Лучший банан

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

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

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

< /tbody>
Команды Linux
Файлы tar · pv · cat · tac · chmod · grep · diff · sed · ar · man · pushd · popd · fsck · testdisk · seq · fd · pandoc · cd · $PATH · awk · join · jq · fold · uniq · journalctl · tail · stat · ls · fstab · echo · less · chgrp · chown · rev · look · strings · type · rename · zip · unzip · mount · umount · install · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · nano · mkdir · du · ln · patch · convert · rclone · shred · srm
Процессы alias · screen · top · nice · renice · прогресс · strace · systemd · tmux · chsh · история · at · пакетное · бесплатное · которое · dmesg · chfn · usermod · ps · chroot · xargs · tty · pinky · lsof · vmstat · timeout · стена · yes · kill · спать · sudo · su · время · groupadd · usermod · группы · lshw · выключение · перезагрузка · halt · poweroff · passwd · lscpu · crontab · date · bg · fg
Сеть netstat · ping · traceroute · ip · ss · whois · fail2ban · bmon · копать · finger · nmap · ftp · curl · wget · who · whoami · w · iptables · ssh-keygen · ufw
  • › 7 основных функций Microsoft Excel для составления бюджета
  • › Что такое GrapheneOS и как она делает Android более приватным?
  • › 5 вещей, которые вы, вероятно, не знали о GIF-файлах
  • › Что означает XD и как вы его используете?
  • › Почему СМС должен умереть
  • › Худшее, что есть в телефонах Samsung, — это программное обеспечение Samsung.

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

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

Начало работы

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

При этом запускается интерактивное приложение командной строки, подобное показанному на снимке экрана ниже. Верхняя половина выходных данных содержит статистику по процессам и использованию ресурсов, а нижняя половина содержит список запущенных в данный момент процессов. Вы можете использовать клавиши со стрелками и клавиши Page Up/Down для просмотра списка. Если вы хотите выйти, просто нажмите «q».

Существует несколько вариантов top, но в оставшейся части этой статьи мы поговорим о наиболее распространенном варианте — том, который поставляется с пакетом «procps-ng». Вы можете проверить это, запустив:

Если у вас есть этот вариант, он будет отображаться в выходных данных следующим образом:

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

Понимание интерфейса top: область сводки

Как мы видели ранее, выходные данные top делятся на два разных раздела. В этой части статьи мы сосредоточимся на элементах половины вывода. Эта область также называется «областью сводки».

Системное время, время безотказной работы и пользовательские сеансы

В самом верхнем левом углу экрана (как отмечено на снимке экрана выше) вверху отображается текущее время. Затем следует время безотказной работы системы, которое сообщает нам время, в течение которого система работала. Например, в нашем примере текущее время — «15:39:37», а система работает уже 90 дней, 15 часов и 26 минут.

Далее идет количество активных пользовательских сеансов. В этом примере есть два активных сеанса пользователя. Эти сеансы могут быть созданы либо через TTY (физически в системе, через командную строку или среду рабочего стола), либо через PTY (например, через окно эмулятора терминала или через SSH). На самом деле, если вы войдете в систему Linux через среду рабочего стола, а затем запустите эмулятор терминала, вы обнаружите, что активных сеансов будет два.

Если вы хотите получить более подробную информацию об активных пользовательских сеансах, используйте команду who.

Использование памяти

В разделе «Память» отображается информация об использовании памяти системой. Строки с пометкой «Mem» и «Swap» показывают информацию об оперативной памяти и пространстве подкачки соответственно. Проще говоря, пространство подкачки — это часть жесткого диска, которая используется как оперативная память. Когда использование ОЗУ почти полностью заполнено, редко используемые области ОЗУ записываются в пространство подкачки, чтобы их можно было извлечь позже, когда это необходимо. Однако из-за медленного доступа к дискам чрезмерное использование подкачки может отрицательно сказаться на производительности системы.

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

Ядро Linux также различными способами пытается сократить время доступа к диску. Он поддерживает «дисковый кеш» в оперативной памяти, где хранятся часто используемые области диска. Кроме того, записи на диск хранятся в «дисковом буфере», и ядро ​​в конечном итоге записывает их на диск. Общая потребляемая ими память является значением «бафф/кеш». Это может показаться плохим, но на самом деле это не так — память, используемая кешем, будет выделена процессам, если это необходимо.

Задачи

В разделе «Задачи» отображается статистика процессов, запущенных в вашей системе. «Общее» значение — это просто общее количество процессов. Например, на приведенном выше снимке экрана запущено 27 процессов. Чтобы понять остальные значения, нам нужно немного узнать, как ядро ​​Linux обрабатывает процессы.

Процессы выполняют как работу, связанную с вводом-выводом (например, чтение дисков), так и работу, связанную с процессором (например, выполнение арифметических операций). ЦП простаивает, когда процесс выполняет ввод-вывод, поэтому ОС в это время переключается на выполнение других процессов. Кроме того, ОС позволяет данному процессу выполняться в течение очень небольшого промежутка времени, а затем переключается на другой процесс. Так операционные системы выглядят так, как если бы они были «многозадачными». Выполнение всего этого требует от нас отслеживания «состояния» процесса. В Linux процесс может находиться в следующих состояниях:

  • Runnable (R): Процесс в этом состоянии либо выполняется на ЦП, либо находится в очереди выполнения и готов к выполнению.
  • Прерываемый сон (S): процессы в этом состоянии ожидают завершения события.
  • Непрерывный сон (D): в этом случае процесс ожидает завершения операции ввода-вывода.
  • Остановлено (T): эти процессы были остановлены по сигналу управления заданием (например, по нажатию Ctrl+Z) или по причине их трассировки.
  • Зомби (Z): ядро ​​хранит в памяти различные структуры данных для отслеживания процессов. Процесс может создать несколько дочерних процессов, и они могут выйти, пока родитель все еще существует. Однако эти структуры данных должны храниться до тех пор, пока родительский процесс не получит статус дочерних процессов. Такие завершенные процессы, структуры данных которых все еще существуют, называются зомби.

Процессы в состояниях D и S отображаются как «спящие», а процессы в состоянии T — как «остановленные». Количество зомби отображается как значение «зомби».

Использование ЦП

В разделе "Использование ЦП" показан процент времени, затрачиваемого ЦП на выполнение различных задач. Значение us — это время, которое ЦП тратит на выполнение процессов в пользовательском пространстве. Точно так же значение sy — это время, затраченное на выполнение процессов пространства ядра.

Linux использует "хорошее" значение для определения приоритета процесса. Процесс с высоким значением «приятности» является «приятнее» по отношению к другим процессам и получает низкий приоритет. Точно так же процессы с более низким значением «хороший» получают более высокий приоритет. Как мы увидим позже, значение по умолчанию «хороший» можно изменить. Время, затрачиваемое на выполнение процессов с установленным вручную значением «хороший», отображается как значение ni.

За ним следует id , обозначающий время бездействия ЦП. Большинство операционных систем переводят ЦП в режим энергосбережения, когда он находится в режиме ожидания. Затем следует значение wa, которое представляет собой время, которое ЦП тратит на ожидание завершения ввода-вывода.

Прерывания — это сигналы процессору о событии, требующем немедленного внимания. Аппаратные прерывания обычно используются периферийными устройствами, чтобы сообщать системе о событиях, таких как нажатие клавиши на клавиатуре. С другой стороны, программные прерывания генерируются из-за определенных инструкций, выполняемых процессором. В любом случае их обрабатывает ОС, а время, затрачиваемое на обработку аппаратных и программных прерываний, обозначается как hi и si соответственно.

В виртуализированной среде часть ресурсов ЦП выделяется каждой виртуальной машине (ВМ). ОС определяет, когда у нее есть работа, но не может ее выполнить, потому что ЦП занят какой-то другой ВМ. Количество потерянного таким образом времени – это время "кражи", отображаемое как st .

Средняя нагрузка

Секция средней нагрузки представляет среднюю «нагрузку» за одну, пять и пятнадцать минут. «Нагрузка» — это мера объема вычислительной работы, которую выполняет система. В Linux нагрузка — это количество процессов в состоянии R и D в любой момент времени. Значение "средняя нагрузка" дает вам относительную меру того, как долго вы должны ждать, пока что-то будет сделано.

Давайте рассмотрим несколько примеров, чтобы понять эту концепцию. В одноядерной системе средний показатель нагрузки 0,4 означает, что система выполняет только 40 % работы, которую может выполнить. Среднее значение нагрузки, равное 1, означает, что система работает точно на полную мощность — система будет перегружена даже при небольшой дополнительной работе. Система со средней нагрузкой 2,12 означает, что она перегружена на 112 % больше работы, чем может выполнить.

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

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

Понимание интерфейса top: область задач

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

Это идентификатор процесса, уникальное положительное целое число, идентифицирующее процесс.

Это «действующее» имя пользователя (которое соответствует идентификатору пользователя) пользователя, запустившего процесс. Linux присваивает процессам реальный идентификатор пользователя и эффективный идентификатор пользователя; последний позволяет процессу действовать от имени другого пользователя. (Например, пользователь без полномочий root может получить права root, чтобы установить пакет.)

Поле «NI» показывает «хорошее» значение процесса.Поле «PR» показывает приоритет планирования процесса с точки зрения ядра. Значение nice влияет на приоритет процесса.

Эти три поля связаны с потреблением памяти процессами. «VIRT» — это общий объем памяти, потребляемой процессом. Это включает в себя код программы, данные, хранящиеся процессом в памяти, а также любые области памяти, которые были заменены на диск. «RES» — это память, потребляемая процессом в оперативной памяти, а «%MEM» выражает это значение в процентах от общей доступной оперативной памяти. Наконец, «SHR» — это объем памяти, совместно используемой с другими процессами.

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

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

В столбце COMMAND показаны имена процессов.

Основные примеры использования команд

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

В большинстве приведенных ниже примеров вам нужно нажать клавишу во время работы программы top. Имейте в виду, что эти нажатия клавиш чувствительны к регистру, поэтому, если вы нажмете «k» при включенном Caps Lock, вы на самом деле нажали «K», и команда не будет работать или сделает что-то совсем другое.

Уничтожение процессов

Если вы хотите завершить процесс, просто нажмите «k» во время работы программы top. Это вызовет приглашение, в котором будет запрошен идентификатор процесса и нажмите клавишу ввода.

Далее введите сигнал, с помощью которого процесс должен быть убит. Если вы оставите это поле пустым, top использует SIGTERM, что позволяет корректно завершать процессы. Если вы хотите принудительно завершить процесс, вы можете ввести здесь SIGKILL. Вы также можете ввести здесь номер сигнала. Например, номер SIGTERM — 15, а SIGKILL — 9.

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

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

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

  • M — для сортировки по использованию памяти.
  • «P» для сортировки по загрузке ЦП.
  • «N» для сортировки по идентификатору процесса.
  • «T» для сортировки по времени выполнения.

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

Вы также можете отсортировать список с помощью ключа -o. Например, если вы хотите отсортировать процессы по использованию ЦП, вы можете сделать это с помощью:

Таким же образом вы можете отсортировать список по любому из атрибутов в области сводки.

Отображение списка потоков вместо процессов

Ранее мы уже говорили о том, как Linux переключается между процессами. К сожалению, процессы не используют совместно память или другие ресурсы, что делает такие переключения довольно медленными. Linux, как и многие другие операционные системы, поддерживает «облегченную» альтернативу, называемую «поток». Они являются частью процесса и совместно используют определенные области памяти и другие ресурсы, но могут выполняться одновременно, как и процессы.

По умолчанию top показывает список процессов в своих выходных данных. Если вы хотите вместо этого перечислить потоки, нажмите «H», когда работает top. Обратите внимание, что в строке «Задачи» вместо этого указано «Потоки» и указано количество потоков вместо процессов.

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

Если вы хотите вернуться к просмотру процесса, снова нажмите «H». Кроме того, вы можете использовать переключатель -H для отображения потоков по умолчанию.

Показ полных путей

По умолчанию top не показывает полный путь к программе и не различает процессы пространства ядра и процессы пространства пользователя. Если вам нужна эта информация, нажмите «c» во время работы программы top. Нажмите ‘c’ еще раз, чтобы вернуться к настройкам по умолчанию.

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

В качестве альтернативы вы также можете начать с аргумента -c:

Вид на лес

Иногда может потребоваться просмотреть иерархию дочерних и родительских процессов. Вы можете увидеть это в виде леса, нажав «v»/«V» во время работы программы top.

Как видно из приведенного выше снимка экрана, процесс systemd был запущен в системе первым. Он запустил такие процессы, как sshd , который, в свою очередь, создал другие процессы sshd и т. д.

Список процессов от пользователя

Чтобы вывести список процессов от определенного пользователя, нажмите «u», когда работает программа top. Затем введите имя пользователя или оставьте поле пустым, чтобы отобразить процессы для всех пользователей.

В качестве альтернативы вы можете запустить команду top с ключом -u. В этом примере мы перечислили все процессы от пользователя root.

Фильтрация процессов

Если у вас много процессов, простая сортировка будет недостаточно эффективной. В такой ситуации вы можете использовать верхнюю фильтрацию, чтобы сосредоточиться на нескольких процессах. Чтобы активировать этот режим, нажмите «o»/«O». Внутри top появится подсказка, и вы можете ввести здесь выражение фильтра.

  • COMMAND=getty : отфильтровать процессы, содержащие «getty» в атрибуте COMMAND.
  • !COMMAND=getty : фильтровать процессы, не содержащие «getty» в атрибуте COMMAND.
  • %CPU>3.0 : фильтрация процессов, загрузка ЦП которых превышает 3%.

После того как вы добавили фильтр, вы можете еще больше сократить его количество, добавив дополнительные фильтры. Чтобы очистить все добавленные фильтры, нажмите ‘=’.

Изменение внешнего вида статистики ЦП и памяти по умолчанию

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

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

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

Если вы внесли какие-либо изменения в вывод top, вы можете сохранить их для последующего использования, нажав «W». top записывает свою конфигурацию в файл .toprc в вашем домашнем каталоге.

Заключение

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

сообщить об этом объявлении

Читайте также: