Графа состояния и планирования в top/htop отражает текущее положение процесса в модели планировщика ядра. Эти поля описывают, как процесс рассматривается планировщиком: исполняется ли он сейчас, может ли быть вытеснен, каков его относительный приоритет и по какой политике он обслуживается.
Данные берутся из структур ядра (прежде всего task_struct) и соответствующих полей планировщика.
Краткое пояснение к полям:
-
S (state) - текущее состояние процесса. Основные значения:
R - выполняется или готов к выполнению (run queue)
S - спящий, ожидает событие (interruptible sleep)
D - непрерываемое ожидание (обычно I/O)
T - остановлен (signal/trace)
Z - зомби (завершён, но не считан родителем)
Также могут встречаться I (idle kernel thread) и другие специфические состояния. -
PRI (priority) — динамический приоритет, который видит планировщик. Для обычных процессов он вычисляется на основе статического приоритета и значения nice. Для realtime-задач отображает их реальный приоритет. Меньшее числовое значение означает более высокий приоритет исполнения.
-
NI (nice) — пользовательская корректировка приоритета в диапазоне от -20 до +19. Меньшее значение даёт процессу большее преимущество при планировании (в рамках обычной политики CFS). Изменяется через
niceилиrenice. -
RT priority — приоритет для процессов с политиками реального времени. Диапазон обычно 1–99. Используется только для
SCHED_FIFOиSCHED_RR. Такие задачи имеют приоритет над обычными (SCHED_OTHER) процессами. -
scheduler policy — политика планирования процесса. Основные варианты:
SCHED_OTHER— стандартная политика CFS для обычных процессов
SCHED_BATCH— для пакетных задач без интерактивных требований
SCHED_IDLE— минимальный приоритет, выполнение при простое системы
SCHED_FIFO— realtime, без квантования времени
SCHED_RR— realtime с квантованием
SCHED_DEADLINE— дедлайновое планирование (EDF-модель)
Практически эти поля используются для диагностики starvation, анализа поведения realtime-процессов, отладки проблем с I/O-блокировками (состояние D) и проверки корректности настройки приоритетов и политик планирования.