Отслеживание процессов: top
100%

Использование процессов · Урок 1

Отслеживание процессов: top

Узнайте, как с помощью top интерпретировать нагрузку системы, CPU, память и активность отдельных процессов.

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

Чтение сводки системы

Обычное представление начинается со строк сводки, за которыми следует таблица процессов:

top - 18:06:26 up 6 days, 4:07, 2 users, load average: 0.92, 0.62, 0.59
Tasks: 389 total, 1 running, 387 sleeping, 0 stopped, 1 zombie
%Cpu(s): 1.8 us, 0.4 sy, 0.0 ni, 97.6 id, 0.1 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 32099.0 total, 5276.3 free, 7031.2 used, 19791.5 buff/cache
MiB Swap: 32700.0 total, 32661.0 free, 39.0 used

Первая строка содержит текущее время, время работы, число вошедших пользователей и среднюю нагрузку за 1, 5 и 15 минут. Строка задач подсчитывает состояния процессов. Средняя нагрузка — не непосредственный процент CPU; в Linux она отражает выполняемые задачи и задачи в непрерываемом сне, поэтому интерпретируйте её вместе с числом CPU, активностью ввода-вывода и задержками.

Что представляют три значения средней нагрузки в top?

Интерпретация времени CPU

К распространённым полям CPU относятся:

  • us: время выполнения в пространстве пользователя.
  • sy: время выполнения ядра.
  • ni: время пространства пользователя для задач с изменённым nice.
  • id: время простоя.
  • wa: время простоя при наличии незавершённого запроса ввода-вывода.
  • hi и si: обработка аппаратных и программных прерываний.
  • st: время виртуального CPU, забранное гипервизором для других гостевых систем.

Высокое значение wa может поддержать гипотезу об ожидании ввода-вывода, но не указывает устройство и не доказывает, что хранилище — единственное узкое место. До вывода проверьте задержки устройств и поведение приложения.

Что показывает поле CPU wa?

Чтение таблицы процессов

К важным столбцам обычно относятся:

  • PID, USER и COMMAND: идентификатор, владелец и команда.
  • S: состояние, например выполнение (R), сон (S), непрерываемый сон (D), остановка (T) или зомби (Z).
  • %CPU и %MEM: измеренная активность CPU и доля физической памяти.
  • TIME+: накопленное время CPU.
  • VIRT: полное виртуальное адресное пространство, связанное с задачей.
  • RES: резидентная физическая память без swap, относимая к задаче в данный момент.
  • SHR: резидентная память, которая может использоваться совместно с другими процессами.

VIRT не равен объёму потребляемой физической оперативной памяти. Он может включать отображённые файлы, общие библиотеки, зарезервированное адресное пространство и страницы в swap. Даже RES следует интерпретировать осторожно, поскольку общие страницы усложняют отнесение памяти.

Какое поле ближе всего к физической памяти процесса, резидентной в данный момент?

Фокусировка и сортировка

Отслеживайте известные PID напрямую:

$ top -p 1234,5678

Внутри top нажмите P для сортировки по CPU, M для сортировки по памяти, 1 для переключения строк отдельных CPU и q для выхода в распространённых реализациях procps-ng. Нажмите h, чтобы открыть локальную интерактивную справку, поскольку клавиши и поля могут различаться.

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

Какой запуск ограничивает представление процессом с PID 1234?

Урок завершён

Вы завершили Отслеживание процессов: top

Теперь вы можете использовать top для построения и проверки гипотезы о производительности системы.

  • Читайте среднюю нагрузку как нагрузку за временные интервалы, а не проценты CPU.

  • Сравнивайте категории CPU в нескольких образцах.

  • Отличайте виртуальное адресное пространство от резидентной памяти.

  • Сосредотачивайтесь на известных PID и проверяйте свидетельства до действий.

Сохраните прогресс

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

Создать бесплатный аккаунт
Следующий Урок
Назад к Использование процессов