Назад | Перейти на главную страницу

Отчет об использовании ЦП Windows «iowait»

Учитывает ли Windows и сообщает ли "Айоваит " так же, как Linux? То есть процессы переходят в «непрерывный сон», и их время вычитается из «CPU свободен»?

Если да, то какие счетчики Perfmon будут подходящими для определения «ЦП занят из-за задержек обслуживания ввода-вывода», а не «ЦП занят из-за вычислений»?

Некоторые концепции ядра Windows значительно отличаются от концепций Linux, поэтому вы не видите iowait счетчик в Perfmon.

Во-первых, составление расписания в Windows - это поток, а не процесс. Процесс - это просто контейнер для 1+ потоков. Кроме того, Windows не определяет непрерывное состояние сна для своих потоков (точнее, все запросы ввода-вывода могут быть прерваны - например, другим потоком того же процесса), поэтому не будет точного iowait аналог на платформах Windows. Windows сообщает о времени, в течение которого ее потоки ожидают ввода-вывода синхронизации, как «простаивающем», поскольку потоки просто переключаются контекстом планировщиком, как только они выдают запросы ввода-вывода синхронизации.

Если вас интересует общее время, затрачиваемое на операции ввода-вывода на конкретном устройстве, вам следует посмотреть на счетчики, связанные с задержкой вместе с количеством соответствующих запросов, обработанных за этот период времени. Однако это не позволит вам разбить его на синхронные и асинхронные шаблоны доступа.