Звіт про використання процесора "iowait" з використанням процесора


9

Чи відповідає Windows та повідомляє про " iowait" таким же чином, як Linux? Тобто процеси переходять у режим «безперебійного сну», а витрачений ними час віднімається від «без процесора»?

Якщо так, то які лічильники Perfmon було б доречно виявити "процесор зайнятий через затримки обслуговування IO" на відміну від "процесор зайнятий через обчислення?"


Це майстер ядра. Можливо, ви захочете ознайомитись із "Внутрішніми програмами Windows" для отримання більш детальної картини.
the wabbit

Відповіді:


10

Деякі поняття в ядрі Windows істотно відрізняються від понять у Linux, тому ви не бачите iowaitлічильника в Perfmon.

По-перше, об'єктом планування в Windows є потік, а не процес. Процес - це просто контейнер для 1+ потоків. Крім того, Windows не визначає стан потоку безперебійного режиму сну для своїх потоків (точніше, всі запити вводу / виводу можуть бути перервані - наприклад, іншим потоком того ж процесу), таким чином, не було б точного iowaitаналога на платформах Windows. Windows повідомляє про час, коли його потоки чекають синхронізації вводу / виводу як "непрацюючі", оскільки потоки просто перемикаються на контекст планувальником, як тільки вони видають запити на синхронізацію вводу / виводу.

Якщо вас цікавить кількість загального часу, витраченого на операції вводу / виводу на певному пристрої, вам слід переглянути лічильники затримки, а також кількість відповідних запитів, оброблених за цей проміжок часу. Це, однак, не дозволить вам розділити його на схеми синхронного проти асинхронного доступу.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.