Про метрики Pressure Stall Information мы уже рассказывали в материале про новые возможности Proxmox VE 9.
Но это универсальные Linux метрики, которые появились в ядре 4.20 и показывают процент времени, в течении которого процессы ожидают освобождения критичных ресурсов: процессора, памяти, ввода-вывода.
👉 У данных метрик есть две основные категории:
🔹 some — показывает время, когда хотя бы один процесс ожидает освобождения ресурсов
🔹 full — показывает время, когда все активные процессы ожидают освобождения ресурсов
Про интерпретацию их значений мы повторяться не будем, все это можно прочитать в заметке по ссылке. Сегодня мы расскажем про инструмент их контроля в реальном времени – psistat.
Он написан на python и для его установки вам сначала потребуется pipx:
apt install pipx
Затем:
pipx install psistat
Он установит утилиту в
~/.local/bin и если вы хотите, чтобы утилита была доступна без указания полного пути, выполните: pipx ensurepath
После чего выйдите и снова войдите в систему.
Затем просто запустите:
psistat
Вы увидите интерактивный текстовый интерфейс как на скриншоте, метрики со средними значениями в 60 и 300 секунд предоставляются ядром и доступны сразу, метрики за 1, 3 и 10 секунд рассчитываются утилитой на основе накопленных данных и появляются не сразу.
Управление происходит при помощи клавиш:
▫️ t – задает порог превышения метрики, по умолчанию 5%
▫️ i – интервал превышения, по умолчанию 10 сек
Теперь любое событие, значение которого превысит 5% за 10 секунд появится в таблице ниже.
Остальные клавиши управляют отображением этой таблицы:
▫️ b – ограничивает ее размером экрана, остальные события вытесняются, иначе доступен полный список
▫️ d – дамп, прерывает интерактивный режим и выводит список событий в консоль, чтобы вы могли его скопировать, после чего переходит в режим нормальной работы.
Инструмент крайне интересный и полезный, потому что сегодня мало интерактивных инструментов для Pressure Stall Information, в то время как это один из важнейших показателей при анализе проблем с производительностью.
