• База знаний
  • /
  • Блог
  • /
  • Wiki
  • /
+380 (44) 364 05 71

Команда top - учимся наблюдать за процессами в Linux

Одним из полезных инструментов системного администратора не безосновательно считается top в ОС Linux и FreeBSD. Одна короткая команда и вы получаете возможность отслеживать процессы, системные ресурсы и службы Линукс. Top входит в предустановленные Arch Linux дистрибутивы, но, в отличие от других (например, команда Linux du, которая определяет размер файлов и директорий), является интерактивным и дает возможность не только просматривать динамику системы и открытые программы, но и завершать выборочные задания, собирать для анализа обобщенную информацию о Linux и потоках, которые на момент проверки обслуживаются ядром.

После запуска команды открывается окно со всевозможными данными и администратор самостоятельно настраивает, какие данные интересуют. Как осуществить настройку внешнего вида и выводимых данных, разберем ниже. Потому что настроенная под ваши требования и нужды программа позволяет оперативно обрабатывать информацию, максимизировать удобство ее восприятия и осуществлять демонстрацию и мониторинг данных, отсутствующих в стандартном режиме. Главное, что настройку можно запускать постоянно при каждом выводе команды (в т.ч. при Virtualbox загрузке Linux с USB), а можно сохранить изменения и пользоваться ими постоянно с минимумом временных затрат. Если же top по каким-либо причинам не подойдет, можно воспользоваться альтернативным дистрибутивом на основе Arch Linux — htop.

Команда htop

(htop)

Базовые значения

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

Общая информация состояния сервера через команду top

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

  • нагрузку на сервере в условных единицах (load averages), за 5, 10 и 15 минут, время работы после последней загрузки (uptime), текущее время на сервере;
  • общее количество процессов на сервере, выполняемые в данный момент процессы и количество спящих процессов;
  • использование процессора на сервере;
  • использование оперативной памяти;
  • работа со swap на сервере.

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

  • USER — владелец;
  • PID — номер процесса, по которому можно быстро осуществить его поиск;
  • PR — приоритет (высокий, низкий и в момент просмотра);
  • RES — объем памяти, не попавшей в раздел подкачки и которая используется в момент проверки;
  • VIRT — затрачиваемая виртуальная память (например, при использовании whatsapp for debian или совместных библиотек);
  • SHR — память, подходящая для использования следующими в очереди задачами.
  • %CPU — процент загрузки центрального процессора после обновления экрана;
  • S — статус процесса, включающий в себя следующие показатели: D (сон), Z (зомби), I (простой), t (остановка отладчиком при трассировке), R (запуск), Т (остановка сигналом);
  • %MEM — доля процесса в памяти;
  • COMMAND — команда, применяемая для запуска;
  • TIME+ — время работы центрального процессора после запуска.

Таблица запущенных процессов

Дополнительные возможности дистрибутива top на основе arch linux

Внешний вид TOP позволяет гибкую настройку:

  • прокрутка окон (выводимый список можно прокручивать вниз/вверх, вправо/влево с помощью курсорных клавиш);
  • показ/скрытие верхней строки с общей нагрузкой/аптаймом путем нажатия клавиши l;
  • переключение в монохромный/цветной вид кнопкой z; (рисунок - z)
  • вывод данных загруженности ядер путем нажатия 1 (выводится обобщенная информация о загруженности или несколько строк с данными по каждому ядру).

Цветной вид интерфейса

(рисунок - z)

Поддерживается формирование гистограмм загрузки процессора (кнопкой t) или памяти (m). Отображаются 4 режима: детальные данные по каждой категории (например, при запуске Client Whatsapp Linux или типу памяти; сокращенная информация о пользователе/системе с общим процентом загрузки в виде гистограммы; данные в виде блок-диаграммы; запрет на отображение CPU и статусов задач или памяти. Также возможно выделение предопределенных данных полужирным шрифтом с помощью b, подсветка столбца, по которому производится сортировка путем нажатия кнопки x и вывод команды запуска (имени программы и основных функций командной строки, например, при вызове route to host) нажатием c.

Для просмотра определенного пользователя используйте ключ -u или -U (не забудьте указать корректное имя top -u myuser (в первом варианте информация будет только по активному, а во втором — по любому юзеру). В результате во вкладке отобразятся процессы только запрашиваемого пользователя, а в случае отсутствия запущенных задач - пустой экран. При установке перед именем символа ! будут выводиться процессы абсолютно всех пользователей, как активных, так и неактивных.

Еще одна интересная функция top - отображение данных с помощью древа клавишей V (переключение от стандартного вида и обратно) и вывод на экран активных процессов нажатием i (например, если вы хотите посмотреть информацию только по запущенному Whatsapp Web Linux Mint, а после проверить загруженность другими задачами, в т.ч. неактивными).

Для переключения на показ потоков используйте H, а для изменения интервала обновления данных (по умолчанию — 1 раз в 3 сек.) - интерактивную команду s или d. Просто установите нужный вам интервал (значение в секундах может быть целым или дробным, но обязательно положительным).

При указании интервала обновления 0 top будет обновлять данные непрерывно, потребляя слишком много процессорного времени. Для отображения времени задержки, установленного на данный момент, нажмите h — значение во второй строке у слова Delay и есть время задержки;

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

Передвижение между колонками осуществляется с помощью клавиш < и > (символы на кнопках б и ю в английской раскладке). В этом режиме возможен поиск строк и задач с определенными значениями путем нажатия L и ввода слова, по которому будет производиться отбор. В поисковой строке можно вводить любые данные с учетом регистра без ограничения из колонки или столбца. Переход от одного совпадения к другому осуществляется с помощью &. Подсветка столбцов при этом отключается и восстанавливается автоматически после прекращения поиска (указания пустого значения в поисковике).

Для сброса фильтров нажмите = или +. Первая команда распространяется на видимое окно процессов, а вторая — на все вкладки, если включено альтернативное отображение. Обе клавиши работают с вышеуказанными фильтрами поиска L, вывода только активных задач i, отображения данных пользователя U/u, максимального количества процессов n и прочих фильтров O/o.

Команда поддерживает добавление или удаление полей с помощью F/f — в открывшемся диалоговом окне кликните на необходимое поле и нажмите s, чтобы отсортировать по нему, или d, чтобы добавить. При необходимости можно включить многооконный режим (нескольких вкладок, максимальное количество — 4), в котором каждая вкладка будет иметь собственные настройки для отображения предопределенных данных. Это альтернативное отображение включается A. Переключение между вкладками производится путем нажатия а или w.

Сверху можно найти номер и название активной вкладки, если только эта строка не отключена. Также поддерживается оперативное переключение командой g и установка имени окна задачей G. Все вкладки будут независимы друг от друга и могут иметь собственный набор строк и полей, отображение, графики и сортировку. Уменьшение количества окон в многоканальном режиме производится за счет скрытия неактивных вкладок с помощью символа -. Нажатие кнопки _ также скроет, но уже все.

Из запущенного окна можно остановить процесс с помощью команды k — в диалоге введите PID задачи, которую требуется завершить, и сигнал отправки (по умолчанию — SIGTERM). Там же возможно изменение nice с помощью r — в диалоговом окне введите PID и новое значение nice для него. Помните, что при положительном nice уменьшается приоритет процесса, а при негативном - увеличивается фавор задачи у ядра.

Top в Linux поддерживает все стандартные опции командной строки, которые соответствуют интерактивным командам. Перед опцией необходимо указывать дефис.

Пример: 

top -s1

Пример указания опций при запуске top.

top -U myuser

Пример указания опций при запуске команды top

Это может быть полезно для использования результата TOP в скриптах. Для скриптов будут так же полезные опции Top:

  • -b - отправка вывода считываемых данных в файл или другую программу
  • -n - устанавливает предел количества обновлений top. Например top -n1 единожды получит данные о нагрузке на сервере.

Для сохранения настроек top используется параметр W - при запуске записывается конфигурационный файл, в котором хранятся все опции и переключатели, время задержки и текущий режим отображения. Если запустить эту команду перед тем, как выйти из окна наблюдения за процессами, она перезапустится в точности с теми же настройками и состоянием. При сохранении настроек необходимо выбрать, куда сохранять конфигурационный файл. По умолчанию сохранение осуществляется в ~/.config/procps/toprc.

Если во время использования VPS или выделенного сервера в нашем дата-центре у Вас возникнут вопросы, наша замечательная техническая поддержка готова прийти на помощь!

 

Дата: 10.08.2020
Автор: Дмитрий
Голосование

Авторам статьи важно Ваше мнение. Будем рады его обсудить с Вами:

comments powered by Disqus
Спасибо, что выбираете FREEhost.UA