Старый вопрос, недавно столкнулся, но чувствовал, что существующих ответов было недостаточно.
IOWait определение и свойства
IOWait (обычно помеченный %wa
сверху) является подкатегорией бездействия ( %idle
обычно выражается как все бездействия, кроме определенных подкатегорий), то есть процессор ничего не делает. Поэтому, пока есть другой процесс, который процессор может обрабатывать, он будет это делать. Кроме того, время простоя, пользователь, система, iowait и т. Д. Являются измерением по отношению к процессору. Другими словами, вы можете думать о iowait как о бездействии, вызванном ожиданием io.
Точно, iowait - это время, потраченное на получение и обработку аппаратных прерываний в процентах от тактов процессора. Программные прерывания обычно помечаются отдельно как %si
.
Важность и потенциальное заблуждение
IOWait важен, потому что он часто является ключевым показателем, чтобы узнать, нет ли у вас узких мест в IO. Но отсутствие iowait не обязательно означает, что ваше приложение не является узким местом при IO. Рассмотрим два приложения, работающие в системе. Если программа 1 сильно затруднена, а программа 2 является интенсивным пользователем %user + %system
ЦП, загрузка ЦП все равно может составлять ~ 100% и, соответственно, iowait будет показывать 0. Но это только потому, что программа 2 интенсивна и, по-видимому, ничего не говорит о программа 1, потому что все это с точки зрения процессора.
Инструменты для обнаружения IOWait
Смотрите посты Дейва Чейни и Ксеркс
Но и простое top
покажет в %wa
.
Сокращение IOWait
Кроме того, поскольку мы сейчас почти вступаем в 2013 год, в дополнение к тому, что говорили другие, доступны недорогие устройства хранения ввода-вывода, а именно SSD. Твердотельные накопители потрясающие !!!