Состояния процессов
100%

Процессы · Урок 9

Состояния процессов

Узнайте, как интерпретировать распространённые коды состояний процессов Linux в снимках ps.

Во время работы, ожидания, остановки и завершения задача Linux переходит между состояниями выполнения. Поле STAT команды ps фиксирует один момент, поэтому при диагностике поведения повторные наблюдения полезнее одной буквы.

$ ps -o pid,ppid,stat,wchan:24,cmd

Первый символ STAT — основное состояние. Дополнительные символы являются модификаторами и описывают такие свойства, как лидерство сеанса или членство в группе процессов переднего плана. Полный набор смотрите в локальном руководстве ps.

Выполнение и прерываемый сон

  • R означает выполнение или готовность к выполнению. Задача работает на CPU либо ожидает времени CPU в очереди выполнения.
  • S означает прерываемый сон. Задача ожидает событие и может быть пробуждена подходящим сигналом или событием.

Сон является нормальным состоянием. Интерактивные программы и службы большую часть времени ожидают ввод, таймеры, сетевой трафик, блокировки или другие события, а не непрерывно потребляют CPU.

Что означает основное состояние R?

Какое основное состояние обозначает прерываемый сон?

Непрерываемый сон

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

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

Какое основное состояние обозначает непрерываемый сон?

Остановленные состояния и зомби

  • T обычно означает остановку действием управления заданиями, например SIGTSTP, или сигналом SIGSTOP. Некоторые инструменты используют строчную t для остановки трассировкой.
  • Z означает зомби: процесс завершился, но родитель ещё не получил запись о завершении.

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

Что обозначает основное состояние Z?

Чтение состояний в контексте

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

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

Вы завершили Состояния процессов

Теперь вы можете интерпретировать самые распространённые основные состояния процессов.

  • Читайте R как выполнение или готовность, а S — как прерываемый сон.

  • Исследуйте постоянное D как симптом ожидания, а не диагноз.

  • Отличайте остановленное T от завершившегося несобранного Z.

  • Используйте повторные наблюдения и окружающие свидетельства.

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

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

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