Высокий 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 будет проверять его автоматически, сохранит историю и сообщит о сбое и восстановлении.
7 дней без оплаты и банковской карты с момента создания сервера. Затем 2 000 ₽ за сервер за 30 дней, до 50 сайтов на сервер. Продление вручную. Условия тарифа
Проверьте 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.
Превратите метрики сервера в ранние сигналы
Графики полезны только тогда, когда по ним можно вовремя заметить деградацию и назначить реакцию.
7 дней без оплаты и банковской карты с момента создания сервера. Затем 2 000 ₽ за сервер за 30 дней, до 50 сайтов на сервер. Продление вручную. Условия тарифа
Попробовать 7 днейПрименить на практике
Частые вопросы
Короткие ответы на вопросы, которые обычно возникают при диагностике.
Какой iowait считается высоким?
Универсального процента нет. Важно устойчивое отклонение от базовой линии вместе с ростом device latency, очереди и пользовательской задержки.
SSD исключает высокий iowait?
Нет. Можно упереться в IOPS, throughput, latency cloud volume, fsync, queue или конкуренцию workloads.
Поможет ли добавить RAM?
Если I/O вызван вытеснением кеша или swap — возможно. Но сначала подтвердите memory pressure и характер операций.
Не ждите следующего сообщения «сайт не работает»
Добавьте первый сайт или сервер: perfMon будет проверять состояние автоматически, сохранит историю и уведомит ответственных.
7 дней без оплаты и банковской карты с момента создания сервера. Затем 2 000 ₽ за сервер за 30 дней, до 50 сайтов на сервер. Продление вручную. Условия тарифа