Как iostat выясняет для взятия времени простоя ЦП для рассмотрения как %idle или %iowait?

Оказывается, что это настроено в файле, названном/etc/login.block

Благодаря всем.

3
задан 25 October 2012 в 21:52
2 ответа

iowait - это, по сути, среднее время (в миллисекундах) для запросов ввода-вывода, отправленных устройству для обслуживания. Сюда входит время, затраченное на запросы в очереди, и время, потраченное на их обслуживание.

Измеряется на периодической основе от начала планировщика io до завершения io. Он охватывает время, затрачиваемое на планировщик, драйвер, контроллер, транспорт (для san) и хранилище, необходимое для завершения каждого io. Это среднее время в миллисекундах для запросов ввода-вывода, выполненных хранилищем, и включает время, затраченное на запросы в очереди планировщика, и время, затраченное хранилищем на их обслуживание.

Есть несколько этапов ввода-вывода, пока он выполняется. переносится. После того, как приложение отправляет IO, для него выделяется запрос, и когда запрос предоставляется, ядро ​​видит, может ли оно объединить io с любой существующей очередью запросов. Время, проведенное в очереди запросов, добавляется к общему времени обслуживания. Затем после слияния io отправляется в хранилище. Если хранилище находится под давлением или не может справиться с номерами ввода-вывода, тогда наш ввод-вывод также должен дождаться обслуживания хранилища. Итак, по сути, есть две фазы ожидания, которые выполняет iostat.

С этой целью он ссылается на файл proc / proc / diskstats.

3
ответ дан 3 December 2019 в 06:12

Спрашивая ядро. Эта информация непосредственно содержится в первой строке / proc / stat , см. Документацию proc .

1
ответ дан 3 December 2019 в 06:12

Теги

Похожие вопросы