Высокий iowait в Linux: CPU ждёт, но причина требует проверки
iowait показывает долю времени CPU, когда он простаивал при ожидающих I/O-операциях. Высокое значение указывает направление, но не называет диск, процесс или запрос.
Шкала риска
Демо-ориентир для быстрой интерпретации результата.
Показатель выглядит штатно.
Пора проверить динамику и причины.
Нужна диагностика до инцидента.
Сервис может быть недоступен пользователям.
Диагностика iowait: CPU idle, disk latency, queue, throughput, процессы, database, swap, cloud volume limits и связь с TTFB.
Правильно интерпретируйте iowait
iowait зависит от модели учёта CPU и количества параллельной работы. Низкий iowait не гарантирует быстрый диск, если CPU занят другим, а высокий не доказывает физическую неисправность.
Смотрите latency операций, queue depth, throughput и saturation конкретного устройства. Для облачного volume учитывайте IOPS/throughput caps и burst credits.
Найдите устройство и процесс
iostat показывает устройства и тип нагрузки; pidstat и eBPF-инструменты помогают связать I/O с процессами. Проверьте, не создают ли backup, логирование, контейнерные layers или antivirus постоянную запись.
Для базы данных сопоставьте checkpoint, flush, slow query и размер working set. Недостаток RAM может вытеснить кеш и превратить запросы в случайное чтение.
Мониторинг покажет, когда состояние изменится
Добавьте сайт или сервер один раз — perfMon будет проверять его автоматически, сохранит историю и сообщит о сбое и восстановлении.
Проверьте swap и память
Активный swap может создавать I/O и одновременно увеличивать latency приложения. Смотрите swap-in/swap-out, major page faults и память процессов.
Простое отключение swap без запаса RAM опасно: вместо задержки можно получить OOM. Сначала устраните утечку, скорректируйте limits или добавьте память.
Свяжите диск с пользовательским симптомом
Сопоставьте iowait и disk latency с TTFB, HTTP 5xx, очередью приложения и временем запросов. Если пользовательский симптом не меняется, сигнал может относиться к фоновой задаче.
После исправления повторите тот же workload и проверьте высокий перцентиль latency. Среднее может скрывать короткие, но болезненные stalls.
Превратите метрики сервера в ранние сигналы
Графики полезны только тогда, когда по ним можно вовремя заметить деградацию и назначить реакцию.
Настроить бесплатноПрименить на практике
Частые вопросы
Короткие ответы на вопросы, которые обычно возникают при диагностике.
Какой iowait считается высоким?
Универсального процента нет. Важно устойчивое отклонение от базовой линии вместе с ростом device latency, очереди и пользовательской задержки.
SSD исключает высокий iowait?
Нет. Можно упереться в IOPS, throughput, latency cloud volume, fsync, queue или конкуренцию workloads.
Поможет ли добавить RAM?
Если I/O вызван вытеснением кеша или swap — возможно. Но сначала подтвердите memory pressure и характер операций.
Не ждите следующего сообщения «сайт не работает»
Добавьте первый сайт или сервер: perfMon будет проверять состояние автоматически, сохранит историю и уведомит ответственных.