2.16 Интерактивные утилиты динамического мониторинга процессов

top
htop
atop
sar
системный монитор

 

top

top — утилита, с помощью которой можно вывести список работающих в системе процессов и информацию о них. Данная утилита установлена в РедОС по умолчанию.

Для запуска утилиты необходимо в терминале выполнить команду:

$ top

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

Где первая строка:
— текущее время (15:53:43);
— время работы системы (up 9 min);
— количество открытых пользовательских сессий (1 users);
— среднюю загрузку системы (load average: 1.39, 0.71, 0.42).

Вторая строка:
— общее количество процессов в системе (157 total);
— количество работающих в данный момент процессов (2 running);
— количество ожидающих событий процессов (115 sleeping);
— количество остановленных процессов (0 stopped);
— количество процессов, ожидающих родительский процесс для передачи статуса завершения (0 zombie).

Третья строка выводит информацию о работе процессора:
— использование центрального процессора (в процентах) пользовательскими процессам (1.7 us);
— использование центрального процессора (в процентах) системными процессами (0.3 sy);
— использование центрального процессора (в процентах) процессами с приоритетом, повышенным при помощи вызова nice (0.0 ni);
— время (в процентах), когда центральный процессор не используется (97,7 id);
— использование центрального процессора (в процентах) процессами, ожидающими завершения операций ввода-вывода (0.3 wa);
— использование центрального процессора (в процентах) обработчиками аппаратных прерываний (0.0 hi — Hardware IRQ (аппаратные прерывания));
— использование центрального процессора (в процентах) обработчиками программных прерываний (0.0 si — Software Interrupts (программные прерывания));
— количество ресурсов центрального процессора «заимствованных» у виртуальной машины гипервизором для других задач (таких, как запуск другой виртуальной машины), это значение будет равно нулю на настольных компьютерах и серверах, не использующих виртуальные машины (0.0 st — Steal Time (заимствованное время)).

Четвертая и пятая строка показывает информацию об использовании физической оперативной памяти и раздела подкачки (swap):
— общее количество памяти (в килобайтах);
— количество используемой памяти (в килобайтах);
— количество свободной памяти (в килобайтах);
— количество памяти в кэше буферов (в килобайтах).

Далее идет список процессов, отсортированных по величине использования центрального процессора:
PID – идентификатор процесса;
USER — имя пользователя, который является владельцем процесса;
PR — приоритет процесса;
NI — значение «NICE», влияющие на приоритет процесса;
VIRT — объем виртуальной памяти, используемый процессом;
RES — объем физической памяти, используемый процессом;
SHR — объем разделяемой памяти процесса;
S — указывает на статус процесса: S=sleep (ожидает событий) R=running (работает) Z=zombie (ожидает родительский процесс);
%CPU — процент использования центрального процессора данным процессом;
%MEM — процент использования оперативной памяти данным процессом;
TIME+ — общее время активности процесса;
COMMAND — имя процесса.

Далее приведено описание наиболее часто используемых интерактивных команд, которые вы можете выполнять во время работы программы:
h — вывод справки по утилите;
q (Ctrl+C) — выход из top;
A — выбор цветовой схемы;
d или s — изменить интервал обновления информации;
H — выводить потоки процессов;
k — послать сигнал завершения процессу;
W — записать текущие настройки программы в конфигурационный файл;
Y — посмотреть дополнительные сведения о процессе, открытые файлы, порты, логи и т д;
Z — изменить цветовую схему;
l — скрыть или вывести информацию о средней нагрузке на систему;
m — выключить или переключить режим отображения информации о памяти;
x — выделять жирным колонку, по которой выполняется сортировка;
y — выделять жирным процессы, которые выполняются в данный момент;
z — переключение между цветным и одноцветным режимами;
c — переключение режима вывода команды, доступен полный путь и только команда;
F — настройка полей с информацией о процессах;
o — фильтрация процессов по произвольному условию;
u — фильтрация процессов по имени пользователя;
V — отображение процессов в виде дерева;
i — переключение режима отображения процессов, которые сейчас не используют ресурсы процессора;
n — максимальное количество процессов, для отображения в программе;
L — поиск по слову;
<> — перемещение поля сортировки вправо и влево.

Для получения более подробной справки необходимо нажать клавишу «h» во время работы утилиты.

htop

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

Устанавливается командой:

$ sudo yum install htop

Для запуска утилиты необходимо в терминале выполнить команду:

$ htop

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

Названия столбцов аналогичны выводу команды top.

На нижней панели интерфейса отображены основные действия. Переключаться между процессами можно кнопками «Вверх» и «Вниз». При нажатии F7 и F8 на выбранном процессе изменяется приоритет вниз и вверх соответственно.

atop

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

Устанавливается командой:

$ sudo yum install atop

Для запуска утилиты необходимо в терминале выполнить команду:

$ atop

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

Описание столбцов вывода atop:

PID — идентификатор процесса;
RUID — реальный UID, под которым обрабатывается процесс;
EUID — эффективный UID, под которым обрабатывается процесс (Обычно реальный и эффективный идентификаторы совпадают, т.е. процесс имеет в системе те же права, что и пользователь, запустивший его.);
THR — общее количество потоков для процесса;
SYSCPU — потребление CPU за последний интервал в режиме system. (обычно системные вызовы);
USRCPU — потребление CPU за последний интервал в режиме user;
VGROW — рост виртуальной памяти в течении последнего интервала;
RGROW — резидентный(реальный, занятый процессом ОП) рост памяти в течении последнего интервала. Может быть отрицательным, если процесс выгружается из памяти в swap;
RDDSK — показывает кол обращений к физическому диску для считывания с него данных(минуя кеш);
без установленного патча — количество данных считаные с диск(минуя кеш);
WRDSK — показывает кол обращений к физическому диску для записи на него данных(минуя кеш);
ST — статус процесса (N в первой позиции говорит, что процесс был запущен во время последнего интервала. Вторая позиция показывает закончился ли процесс за время последнего интервала: E — exit, S — прекращено, C — прекращено но остался core dump);
EXC — код выхода процесса;
S — состояние процесса. (S=sleep (ожидает событий) R=running (работает) Z=zombie (ожидает родительский процесс);
CPUNR — идентифицирует CPU который обрабатывает процесс;
CPU — процент занятости выбранного ресурса;
CMD — имя процесса.

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

m — отсортирует процессы по занятой памяти;
d — отсортирует процессы по использованию диска;
n — отсортирует процессы по использованию сети (доступно только с установленным патчем);
v — покажет более подробную информацию о процессах (пользователя, дату и время начала процесса);
u — отсортирует таблицу по пользователям. Использование shift+(d,m,n) выстроит текущий список по выше указанным параметрам;
i — изменение времени проверки, по умолчанию 10 секунд;
g — вернет все в дефолтный вывод;
c — вывести полный путь запущенного процесса (столбец COMMAND).

Для посуточного ведения логов необходимо отредактировать конфиг atop

vi /etc/sysconfig/atop

Добавьте в конец файл следующие строки:

# Имя файла логов

OUTFILE="$LOGPATH/$CURDAY.log"

Общий вид конфига будет следующего содержания:

# sysconfig atop
#

# Current Day format
CURDAY=`date +%Y%m%d`
# Log files path
LOGPATH=/var/log/atop
# Binaries path
BINPATH=/usr/bin
# PID File
PIDFILE=/var/run/atop.pid
# interval (default 10 minutes)
INTERVAL=600
# Имя файла логов
OUTFILE="$LOGPATH/$CURDAY.log"

По умолчанию atop делает снимок раз в 10 минут, это значение регулируется параметром INTERVAL в конфиге /etc/sysconfig/atop, указывается в секундах, при необходимости поменяйте данный параметр.

После внесения изменений перезапустите atop:

sudo systemctl restart atop.service

Для просмотра дневного лога необходимо в терминале выполнить команду:

atop -r /var/log/atop/atop_20201009

где /var/log/atop/atop_20201009 путь до нужного лога.

Для навигации по времени в дневном логе используются клавиши:

t — перейти вперед по времени

Shift + t — перейти назад по времени

Для остановки сбора логов необходимо выполнить:

sudo systemctl stop atop.service

sar

sar — еще одна утилита для мониторинга производительности системы.

Список опций можно получить с помощью -h

sar -h

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

Где:

%user — процент времени CPU, затраченного на выполнение приложений на уровне
пользователя;
%nice — процент времени CPU, затраченного на выполнение приложений на уровне пользователя с установленным приоритетом nice;
%system — процент времени CPU, затраченного на выполнение приложений на уровне ядра;
%iowait — процент времени, затраченное CPU на ожидание завершения операций ввода/вывода;
%steal — процент времени, заимствованное у виртуальной машины (точнее – у виртуального процессора этой машины)  ее гипервизором для решения других задач (например — на работу другой виртуальной машины);
%idle — процент времени бездействия процессора.

Системный монитор.

Утилита «системный монитор» — аналоги диспетчера задач в Windows.

Для Cinnamon необходимо установить отдельно:

sudo yum install gnome-system-monitor

Расположение утилиты в Cinnamon:

Графический интерфейс утилиты интуитивно понятен, вся информация распределена по четырем вкладкам (Сinamon — 3 вкладки). Выглядит следующим образом:

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

Если вы нашли ошибку, выделите текст и нажмите Ctrl+Enter.

Print Friendly, PDF & Email