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

Монитор производительности: Память \ Ошибок страницы / сек против процесса \ Ошибок страницы / сек

Когда я исследовал некоторые жесткие ошибки страницы, я наткнулся на это. Объекты Память и Процесс дают разные значения одного и того же счетчика: Ошибок страницы / сек. Существуют ли какие-либо процессы, связанные с ОС, которые вызывают сбои страниц, которые не отслеживаются объектом Process Monitor? Почему число ошибок процесса \ страницы / сек всегда ниже числа ошибок страницы памяти / сек?

Скриншот монитора производительности

Счетчик Memory => Page Faults/sec представляет собой общесистемное количество ошибок страниц. И мягкие, и жесткие ошибки. И пользовательский режим, и режим ядра.

С другой стороны, счетчик Process => Page Faults/sec - это набор счетчиков, который имеет экземпляр для каждого процесса пользовательского режима, запущенного на машине. Таким образом, вы можете проверить ошибки страниц, вызванные одним конкретным процессом. Или вы можете выбрать _Total instance, чтобы получить сумму всех ошибок страниц, возникших во всех запущенных процессах.

Но даже если вы выбрали _Total, вы по-прежнему могли получать только ошибки страниц, вызванные процессами пользовательского режима. Не сбои страниц в ядре, например, из-за драйверов устройств.

Ошибки страниц могут быть устранены при IRQL ЦП 0 (все пользовательские режимы и большинство режимов ядра) или 1 (APC ядра и ошибки страниц), но ошибки страниц не могут быть устранены при IRQL 2 (отправка) или выше.

Ошибки страницы бывают двух видов: мягкие ошибки и жесткие ошибки. Жесткие сбои - это те, которые могут вызвать серьезное снижение производительности, потому что вам нужно перейти на диск (файл подкачки), чтобы устранить жесткую ошибку. Мягкие сбои не так уж и плохи, потому что страница все еще где-то в ОЗУ, она просто не входит в рабочий набор процесса и должна быть извлечена из другого места в основной памяти, что намного быстрее, чем на диске.

Так Process => Page Faults/sec => _Total - это сумма всех ошибок страниц, вызванных всеми запущенными процессами пользовательского режима. Memory => Page Faults/sec в том, что плюс любые дополнительные ошибки страницы режима ядра.