TGViewer
BashTex | Linux BashTex | Linux @bash_tex · 2.52K subscribers
Post #644 598
PSI: /proc/pressure/* - как понять, чего реально не хватает системе

load average показывает, что в системе есть очередь на выполнение или I/O. Но он плохо отвечает на другой вопрос: насколько пользователи и процессы реально страдают от этого дефицита?

Для этого в Linux есть PSI - Pressure Stall Information:


cat /proc/pressure/cpu
cat /proc/pressure/memory
cat /proc/pressure/io


Например:


full avg10=0.00 avg60=0.01 avg300=0.00 total=...


▪️some - хотя бы часть задач была вынуждена ждать ресурс.
▪️full - все задачи соответствующей группы одновременно стояли из-за этого ресурса.

avg10, avg60, avg300 - процент времени за последние 10, 60 и 300 секунд, когда происходило такое ожидание.

Например:


some avg10=18.5
full avg10=7.2


Это уже гораздо интереснее, чем просто увидеть высокий RAM usage.

Если memory some растёт - процессы регулярно упираются в нехватку памяти.

Если начинает расти memory full - система уже попадает в периоды, когда все учитываемые задачи одновременно не могут нормально продвигаться из-за memory pressure.

То же самое для I/O:


cat /proc/pressure/io


Если I/O PSI высокий, а CPU почти не испытывает pressure, проблема может быть не в загрузке процессора, а в storage latency.

А CPU PSI позволяет увидеть ситуацию, когда CPU формально загружен не на 100%, но runnable-задачи всё равно регулярно ждут свою очередь.

Проверить всё сразу:


for f in /proc/pressure/*; do
echo "=== $f ==="
cat "$f"
done


PSI полезен именно как метрика задержки из-за конкуренции за ресурсы, а не просто их потребления.

Поэтому вместо вопроса «CPU/RAM/Disk загружены?» иногда правильнее спросить:
«Какой ресурс заставляет процессы ждать?»

BashTex 📱 #perfomance #linux
  • 👍 9
More from @bash_tex
  1. Oct 6, 2026Ephemeral ports - почему заканчиваются исходящие TCP-порты Когда приложение устанавливает…
  2. Oct 5, 2026name_to_handle_at() - как получить файловый объект без обычного пути В Linux обычно обраща…
  3. Oct 2, 2026madvise() - как процесс подсказывает ядру, как он собирается использовать память Когда про…
  4. Oct 1, 2026flock vs fcntl - почему две блокировки одного файла могут вести себя совершенно по-разному…
  5. Sep 30, 2026DEBUG trap - как Bash выполняет код перед каждой командой В Bash есть специальный DEBUG tr…
  6. Sep 29, 2026tee + process substitution: один поток и несколько получателей Иногда нужно одновременно:…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →