В основе в Linux есть две утилиты для мониторинга процессов :
PS
TOP
Команда ps
Cинтаксис команды:
ps опции
Теперь рассмотрим опции утилиты. Они делятся на два типа — те, которые идут с дефисом Unix и те, которые используются без дефиса — BSD. Заметьте, что при использовании опций BSD, вывод утилиты будет организован в BSD стиле.
- -A, -e, (a) — выбрать все процессы;
- -a — выбрать все процессы, кроме фоновых;
- -d, (g) — выбрать все процессы, даже фоновые, кроме процессов сессий;
- -N — выбрать все процессы кроме указанных;
- -С — выбирать процессы по имени команды;
- -G — выбрать процессы по ID группы;
- -p, (p) — выбрать процессы PID;
- —ppid — выбрать процессы по PID родительского процесса;
- -s — выбрать процессы по ID сессии;
- -t, (t) — выбрать процессы по tty;
- -u, (U) — выбрать процессы пользователя.
Опции форматирования:
- -с — отображать информацию планировщика;
- -f — вывести максимум доступных данных, например, количество потоков;
- -F — аналогично -f, только выводит ещё больше данных;
- -l — длинный формат вывода;
- -j, (j) — вывести процессы в стиле Jobs, минимум информации;
- -M, (Z) — добавить информацию о безопасности;
- -o, (o) — позволяет определить свой формат вывода;
- —sort, (k) — выполнять сортировку по указанной колонке;
- -L, (H)— отображать потоки процессов в колонках LWP и NLWP;
- -m, (m) — вывести потоки после процесса;
- -V, (V) — вывести информацию о версии;
- -H — отображать дерево процессов;
Самые популярные набор это:
- ps -aux
- ps -auxf
По умолчанию команда ps показывает таблицу процессов, в которой четыре колонки — PID
, TTY
, TIME
и CMD
. При использовании опции -f
— будут показаны колонки UID
, PID
, PPID
, C
, STIME
, TTY
, TIME
и CMD
.
UID
— пользователь, от имени которого запущен процессPID
— идентификатор процессаPPID
— идентификатор родительского процессаC
— использование времени процессора в процентахSTIME
— время запуска процессаTTY
— терминал, из которого запущен процессTIME
— общее время процессора, затраченное на выполнение процессаCMD
— команда запуска процесса
Опция -F
добавит еще три колонки в таблицу процессов
SZ
— размер процесса в памяти, Кбайт (с учетом swap)RSS
— размер процесса в памяти, Кбайт (без учета swap)PSR
— ядро процессора, на котором выполняется процесс
Статусы процессов, краткий формат, один символ
S (sleeping)
— спящийR (running)
— в работеZ (zombie)
— зомбиD (uninterruptible sleep)
— в состоянии подкачки из swapT (stopped by job control signal)
— остановлен специальным сигналомt (stopped by debugger during trace)
— остановлен в процессе дебагаI (idle)
— бездействующий процесс
Команда top
Команда top позволяет отслеживать процессы и использование системных ресурсов в Linux. Это один из самых полезных инструментов и он поставляется в каждом дистрибутиве. В отличие от других команд, команда top является интерактивной — можно просматривать список процессов, завершать процессы, сортировать и т.д.

На первой строке:
- текущее время
- как долго работает система после последней загрузки
- сколько в системе активных пользователей
- средняя загрузка системы за последние 1 и 5 и 15 минут
На второй строке
- общее количество процессов
- количество работающих в данный момент
- количество спящих процессов
- количество остановленных процессов
- количество зомби процессов
На третьей строке показана информация об использовании CPU
us
— потребление cpu пользовательскими процессамиsy
— потребление cpu системными процессамиni
— потребление cpu пользовательскими процессами c измененным приоритетом (командойnice
илиrenice
)id
— простаивание cpu (отidle
— работать вхолостую)wa
— процент времени, в течение которого процессор простаивал, ожидая завершения операции ввода-вывода. Если слишком высокое (более 10), значит за диск не поспевает процессором.hi
— процент времени работы аппаратных прерываний. Периферийные устройства могут прерывать работу процессора, чтобы передать какие-то данные.si
– процент времени работы программных прерываний. Некоторые приложения могут прерывать работу процессора, чтобы передать какие-то данные.st
— процент времени, когда реальный процессор не был доступен виртуальной машине. Будет расти, если виртуальной машине выделить больше ядер, чем имеет гипервизор. Этот показатель имеет значение только в системах виртуализации.
На четвертой и пятой строке показана информация о потреблении оперативной памяти (Mem) и файла подкачки (Swap)
total
— общее количество памятиfree
— количество свободной памятиused
— количество используемой памятиbuff/cache
— память, выделенная под буфер и дисковый кэшavail Mem
— память, которая может быть выделена для новых процессов
По умолчанию в таблице 12 колонок
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
является выяснение того, какой процесс потребляет много ресурсов. Можно использовать следующие клавиши, чтобы отсортировать таблицу процессов по нужному полю.
M
— для сортировки по использованию памятиP
— для сортировки по использованию CPUN
— для сортировки по идентификатору процессаT
— для сортировки по времени работы
По умолчанию результаты отображаются в порядке убывания, однако можно отсортировать в порядке возрастания с помощью команды R
. Подсветить текущее поле сортировки таблицы можно с помощью команды x
. Подсветить процессы, у которых поле S
таблицы имеет значение R (running)
можно с помощью команды y
.
Представление общей информации
С помощью команд l, t, m можно переключать по кругу представление строк общей информации
- команда l,
load avg
— показать или скрыть первую строку - команд t, задачи и процессор — показать, скрыть, изменить представление для CPU
- команд m, память и файл подкачки — показать, скрыть, изменить представление
Есть много команд, которые позволяют изменить представление таблицы процессов.
- команда
c
— переключатель, показывать/скрывать полный путь к командам - команда
i
— переключатель, показывать/скрывать неактивные задачи - команда
V
— переключатель, показывать/скрывать дерево процессов - команда
S
— переключатель, показывать/скрывать использованное процессорное время не только самого процесса, но и всех его дочерних процессов, которые уже отработали и умерли
Фильтрация строк таблицы
Команда u или U позволят указать пользователя, процессы которого нужно показать. Команда o
или O
позволяет указать поле и значение для фильтрации строк таблицы , сбросить все фильтры команда = .
Поиск в таблице процессов
Команда L позволяет ввести строку для поиска, команда & (не забывайте Shift) позволяет перейти к следующему найденному совпадению. Отменить поиск можно с помощью команды =
.
Завершение процессов
Для этого предназначена команда k — будет предложено сначала ввести PID процесса, а потом — сигнал, который нужно ему отправить. Если оставить поле сигнала пустым — будет использоваться SIGTERM. Чтобы принудительно убить процесс — можно отправить SIGKILL. Также можно использовать номер сигнала — для SIGTERM номер равен 15, для SIGKILL номер равен 9.
Добавить комментарий