Устройство Linux / Объяснение

PSI Linux: ожидание CPU, памяти и I/O по времени

Прочитайте /proc/pressure, отличите some от full и проценты от микросекунд total. Свяжите давление ресурсов с задержкой нагрузки без ложной диагностики.

Средний8 минОбщие принципы LinuxLinux · понятия и интерфейсыBash · pipeline semantics

Ресурс занят или работа действительно задерживается

Нагрузка занимает большую часть RAM, но выполняется быстро. В другом случае памяти занято меньше, а запросы заметно тормозят. Для различения полезно измерять не только объём ресурсов, но и время, когда задачи вынуждены ждать.

Pressure Stall Information даёт такое наблюдение по CPU, памяти и I/O. Его удобно сопоставлять с моментом ухудшения времени ответа. Сам по себе показатель давления не называет виновный процесс и не выбирает способ исправления.

Проценты ожидания и накопленный total

В /proc/pressure находятся cpu, memory и io. some описывает время, когда хотя бы часть задач задержана данным ресурсом; full — одновременную задержку всех не простаивающих задач. Поля avg10, avg60 и avg300 — проценты по окнам, total — накопленные микросекунды.

Системный CPU full не определён и для совместимости показывается нулём в поддерживающих его ядрах. Этот ноль нельзя читать как доказательство отсутствия конкуренции за CPU; изучайте подходящий показатель и область учёта.

Откройте доступные файлы давления

Фрагмент не запускает нагрузочный тест и не регистрирует триггеры. Отсутствие файла выводится явно: поддержка PSI зависит от конфигурации системы.

Локальная Linux-система
for resource in cpu memory io; do
  printf "Давление %s\n" "$resource"
  if [ -r "/proc/pressure/$resource" ]; then
    cat "/proc/pressure/$resource"
  else
    printf "Нет доступного интерфейса\n"
  fi
done

Сопоставьте окна и единицы

Для самостоятельно заданного расчёта total вырос на 200000 микросекунд за окно в две секунды. Это 0.2 секунды учтённого ожидания, или 10% выбранного окна. Такой расчёт использует разность накопленных значений; он не обязан совпасть с avg10, у которого другое окно.

Если memory some растёт вместе с задержками, исследуйте давление памяти дальше: ограничения группы, доступный запас и поведение приложения. Один снимок не доказывает утечку. Если симптомы относятся к контейнеру, по возможности сравните его pressure-файлы cgroup с общесистемными данными.

Проверьте своё рассуждение

Задача: total равен 5000000, а avg10 равен нулю. Есть ли обязательное противоречие?

Нет. total хранит накопленное время, включая прежние события, а короткое окно может не содержать заметного ожидания. Чтобы исследовать текущий эпизод, сравните прирост total и одинаковые интервалы наблюдения.

PSI не задаёт готовую причину и универсальный порог

Выбирайте порог по допустимым задержкам своей нагрузки, а не по случайному примеру. Поддержка и видимость pressure зависят от ядра и окружения. Сохраняйте интервал, ресурс и область учёта вместе с числом, иначе сравнение двух отчётов может оказаться несодержательным.

Технические источники

Использованы для проверки поведения. Объяснения и учебные сценарии созданы для проекта.

  • Документация ядра Linux — Pressure Stall Information

Проверка текста: 2026-09-11. Нативное исполнение на всей матрице дистрибутивов ещё не подтверждено.

Нужны собственная Linux-система, смонтированный procfs и Bash. Доступность полей зависит от ядра, его конфигурации, прав и пространств имён. Примеры только читают диагностические интерфейсы; браузерный симулятор их не реализует.

От материала к практике

Выберите следующую тему в каталоге Linux или проверьте знакомые команды в учебном терминале.

Поиск по Linux

Поиск локальный. ↑ ↓ — перейти к результату, Enter — открыть.

Навигация