Как пользоваться программой top

Однажды мой знакомый, который на тот момент администрировал некое веб-приложение на сервере под управлением GNU/Linux, пожаловался на одного вредного администратора сервера. Тот ни в какую не хотел устанавливать htop, несмотря на все просьбы.

Я немного удивился и поинтересовался, в чём причина такого странного поведения. Если упростить, то дальнейший наш диалог получился вот таким:

— Он говорит, что вполне достаточно функциональности обычного top.
— А её недостаточно, я правильно понимаю? Какого функционала в нём не хватает?
— Ну… Он весь серый, мне на нём не видно ничего!

Тут я удивился ещё сильнее. Но уже не вредности администратора сервера, а тому, что мой знакомый, имея приличный опыт работы с GNU/Linux, не знает всех возможностей такой распространённой утилиты, как top.

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

Htop — менеджер процессов Linux / Unix / Mac OS X

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

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

Как это сделать?

Сначала способ быстрый (и неправильный).
После того, как вы получили пользовательский сеанс, запустите top. Вы увидите интерфейс top по умолчанию:

Но достаточно просто нажать «z», и интерфейс станет не таким уж серым:

Уже лучше, но не видно, по какому параметру отсортированы процессы. Не беда, нажмём «x» и увидим:

Ещё лучше, но окно у нас одно. Сделаем больше, нажмём «A»:

Окон стало четыре, но три из них — чёрно-белые. Исправим ситуацию. Нажмём «a», а затем «z», «x».

Процессы во втором окне отсортированы по PID, а нам надо по %Mem. Исправим это, нажимая «>» (или «

Повторим предыдущие действия для оставшихся окон: «a» для перехода в следующее окно, «z» для включения цветного отображения, «x» для подсветки столбца сортировки. Результат:

1.9 Команда top для управления процессами | Linux для начинающих

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

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

А теперь — правильный.

Запустите top и нажмите «?».

Да, вы видите встроенную справку. Она, между прочим, многоуровневая. Но вы удивитесь, сколько пользователей считает этот экран единственным. Поскольку бегло прочитав его, делали то, о чём их просили в последнем предложении — нажимали «q» или «Esc», кому что было удобнее.

А если её внимательно прочитать, то можно выяснить, например, что после всех нужных настроек для их сохранения нужно нажать «W», и ваши настройки сохранятся в файле ~/.toprc. Что цвета, набор полей в каждом окне, режимы отображения некоторых полей и многое другое тоже настраивается.

Небольшой оффтоп

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

  • Даже опытные специалисты могут не знать элементарных, казалось бы, вещей. Просто потому, например, что им это никогда не требовалось.
  • Даже если утилита появилась в прошлом столетии, это не значит, что проект застрял во времени и не развивается. Например, в прошлом столетии не было отображения контейнера LXC, в котором исполняется процесс.
  • Многие утилиты, несмотря на примитивный внешний вид по умолчанию, очень гибко настраиваются. Это, к слову, касается не только утилит GNU/Linux. И считать утилиту «плохой» и «несовременной», потому что вам не подходят её настройки по умолчанию, по меньшей мере странно. Вы же не бежите покупать новый разводной ключ, если старый настроен не на тот размер гайки, который вам нужен.
  • Иногда вместо того, чтобы требовать для выполнения задачи чего-то дополнительного (или жаловаться, что такой возможности вам не предоставили), стоит потратить несколько минут на изучение возможностей уже имеющихся у вас инструментов.
Читайте также:
Как программой ultraiso создать образ

Спасибо за внимание.

Что ещё полезного можно почитать в блоге Cloud4Y

Подписывайтесь на наш Telegram-канал, чтобы не пропустить очередную статью! Пишем не чаще двух раз в неделю и только по делу.

Источник: habr.com

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 -n 10

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

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

    $ top -u www-data

    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 - добавление полей

    Итог

    Name already in use

    A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

    Cancel Create

    doc_notes / Заметки / Linux / Мониторинг / top / Как пользоваться командой top для наблюдения за процессами в Linux.md

    • Go to file T
    • Go to line L
    • Copy path
    • Copy permalink

    This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

    Cannot retrieve contributors at this time
    266 lines (140 sloc) 26.1 KB

    • Open with Desktop
    • View raw
    • Copy raw contents Copy raw contents Copy raw contents

    Copy raw contents

    Программа top для показа процессов Linux в реальном времени

    Программа top показывает запущенные в Linux процессы программ и служб.

    С помощью top можно наблюдать в реальном времени динамику работающей системы. Программа показывает обобщённую информацию по системе, а также список процессов или потоков, обслуживающихся в настоящее время ядром Linux.

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

    Пример интерфейса top после настройки:

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

    Кстати, у программы top имеется интересный аналог, подробности о нём смотрите в статье «Инструкция по использованию команды htop для интерактивного просмотра процессов в Linux».

    Как увидеть запущенные процессы в Linux (аналог менеджера задач Windows)

    Чтобы увидеть, какие процессы запущены, выполните:

    Что означают цифры в top (как понимать вывод top)

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

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

    В самой верхней строке показано: текущее время в системе, аптайм (время работы после загрузки), общее количество пользователей и средняя нагрузка за последние 1, 5 и 15 минут.

    Далее идут строки с информацией о:

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

    Далее идёт перечень запущенных процессов. По умолчанию выводиться следующая информация:

    PID — уникальный идентификатор процесса

    USER — имя пользователя, являющегося владельцем задачи

    PR — приоритет задачи в расписании. Если вы в этом поле видите «rt», это означает, что задача запущена в расписании приоритетов в реальном времени (это самый высокий приоритет).

    NI — значение nice задачи. Негативное значение означает более высокий приоритет, а положительное значение nice означает более низкий приоритет

    VIRT — общее количество используемой задачей виртуальной памяти, включает все коды, данные, совместные библиотеки, плюс страницы, которые были перенесены в раздел подкачки, и страницы, которые были размечены, но не используются

    RES — используемая оперативная память, является подмножеством VIRT, представляет физическую память, не помещённую в раздел подкачки, которую в текущий момент использует задача. Также является суммой полей RSan, RSfd и Rssh.

    SHR — размер совместной памяти, подмножество используемой памяти RES, которая может использоваться другими процессами

    S — статус процесса. Может быть:

    %CPU — использование центрального процессора, доля задачи в потреблённом процессорном времени с момента последнего обновления экрана, выражается в процентах от общего времени CPU

    %MEM — доля задачи в использовании памяти (RES)

    TIME+ — общее время центрального процессора, которое использовала задача с момента запуска

    Читайте также:
    Как сбросить памперс на epson l355 без программы

    COMMAND — Имя команды или Строка команды. Показывает строку команды, используемую для запуска задачи или имя ассоциированной программы

    Прокрутка окон top

    Вы можете прокручивать список процессов вверх и вниз, а также вправо и влево, используя курсорные клавиши (стрелки).

    Показ скрытие общей нагрузки/аптайма

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

    Переключение в цветной режим

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

    Цветовую схему можно настроить, то есть можно установить свои цвета.

    Показ загруженности каждого ядра

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

    Показ гистограммы загрузки процессора

    Кнопка t по кругу переключает вид строки обобщённой информации об использовании процессора. Варианты:

    1. детальная информация по категориям
    2. сокращённая пользователь/система и общий % + гистограмма
    3. Сокращённая пользователь/система и общий % + блок-диаграмма
    4. отключение отображения статусов задач и CPU

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

    Показ гистограммы загрузки памяти

    Переключатель m работает аналогично предыдущему, но для оперативной памяти (физической и виртуальной). Четыре аналогичных режима:

    1. подробные проценты по типу памяти
    2. сокращённый % используемая/общая доступная + гистограмма
    3. сокращённый % используемая/общая доступная + блок-диаграмма
    4. выключение показа памяти

    Использование полужирного выделения

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

    Подсветка столбца, используемого для сортировки

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

    Показ команды запуска

    Вы можете посмотреть строку команды, которой она была запущена (имя программы вместе с опциями командной строки) с помощью кнопки c. Для возврата к показу имени программы, нажмите c ещё раз.

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

    Используйте кнопку u или U, а затем введите имя пользователя, для которого вы хотите увидеть процессы. Опция -u соответствует только эффективному пользователю, в то время как -U соответствует любому пользователю (реальному, эффективному, сохранённому или файловой системы).

    Будут показаны процессы только указанного пользователя или пустой экран — если процессов нет. Перед именем пользователя можно поставить ! (восклицательный знак) и тогда будут показаны процессы для всех пользователей, кроме указанного.

    Древовидный вид процессов и дочерних процессов

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

    Большая V означает, что нужно одновременно нажимать Shift+v.

    В древовидном виде по-прежнему можно использовать интерактивную команду c для переключения на вид строки команды. Также доступна интерактивная команда H для переключения между процессами и потоками.

    Показ только активных процессов

    Кнопкой i можно переключаться между всеми или только активными задачами.

    По умолчанию top показывает суммарную информацию по всем потокам каждого процесса. Используя H можно переключиться на показ потоков.

    Как поменять интервал обновления информации в top

    По умолчанию информация обновляется раз в три секунды. Используя интерактивную команду d или s вы можете ввести установить любой другой интервал. После нажатия одной из этих кнопок вам нужно будет ввести значение в секундах. Можно вводить дробные числа, но нельзя вводить отрицательные. Если ввести 0, то программа будет непрерывно обновлять информацию и при этом потреблять много процессорного времени.

    Если вы хотите узнать, какое время задержки установлено в текущий момент, нажмите h и во второй строке найдите строку со словом Delay.

    Как изменить сортировку процессов / Как отсортировать по используемой памяти

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

    Для переключения между разными колонками (выбора другой характеристики для сортировки) используйте клавиши и >. Это не символы курсорных клавишей. Это символы на английской раскладке, которые на русской раскладке находятся на буквах «б» и «ю». Чтобы отправить этот символ, нужно нажать Shift.

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

    Как искать в top

    Вы можете выполнять поиск процессов и строк, содержащих определённое значение.

    Для этого нажмите L (Shift+l), появится приглашение ввести слово для поиска. Поиск чувствителен к регистру. Нет ограничений на содержимое поисковой строки.

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

    Для перехода к следующему совпадению поиска отправьте символ https://github.com/hightemp/doc_notes/blob/main/%D0%97%D0%B0%D0%BC%D0%B5%D1%82%D0%BA%D0%B8/Linux/%D0%9C%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3/top/%D0%9A%D0%B0%D0%BA%20%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%D1%81%D1%8F%20%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%BE%D0%B9%20top%20%D0%B4%D0%BB%D1%8F%20%D0%BD%D0%B0%D0%B1%D0%BB%D1%8E%D0%B4%D0%B5%D0%BD%D0%B8%D1%8F%20%D0%B7%D0%B0%20%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%B0%D0%BC%D0%B8%20%D0%B2%20Linux.md» target=»_blank»]github.com[/mask_link]

    Рейтинг
    ( Пока оценок нет )
    Загрузка ...
    EFT-Soft.ru