Что может привести к падению максимальной частоты процессора до 0% в течение нескольких секунд?

1599
Reinier Torenbeek

Я тестирую приложение .NET с расширенными возможностями графического интерфейса. Одно конкретное действие занимает много времени, до 5 секунд. Наблюдая за стандартным монитором ресурсов Windows, я заметил, что эта задержка полностью совпадает с сильным падением до 0% на графике «Максимальная частота» в мониторе - см. Синюю линию на изображении ниже.

CPU usage graph in Resource Monitor

На основании ответа на вопрос « Что означает число« Максимальная частота »в мониторе ресурсов Windows? и некоторую другую информацию в Интернете, я пришел к выводу, что этот провал вызывает задержку, потому что процессор в основном недоступен в течение трех секунд. Это правильный вывод? Если так, что могло вызвать это падение?

Немного информации о моей настройке: это на компьютере под управлением Windows Embedded 7 Standard, работающем на процессоре Intel Atom E680T . Все параметры энергосбережения настроены на максимальную производительность. Тот же тест не показывает этот эффект на других машинах, которые я пробовал. Тем не менее, они имеют более мощные процессоры.

2
У вас почти наверняка есть причина и следствие в обратном направлении. Процессор дремлет, потому что он не может выполнить какую-либо работу. David Schwartz 11 лет назад 2
@DavidSchwartz Оказывается, мое приложение работало с приоритетом в реальном времени, а монитор ресурсов с обычным приоритетом. В результате монитор ресурсов запланирован на некоторое время и не может отображать правильные значения для максимальной частоты. Это похоже на то, что вы описываете в своем комментарии? Reinier Torenbeek 11 лет назад 0
Нет, я совсем не об этом думал. Но это на самом деле довольно забавно. David Schwartz 11 лет назад 0

1 ответ на вопрос

2
Reinier Torenbeek

Ответ на мой вопрос: максимальная частота не падает, даже если монитор ресурсов показывает, что это так.

Мой процесс работал с приоритетом в реальном времени, а монитор ресурсов работал с обычным приоритетом. Как только мой процесс стал действительно занят, монитору ресурсов не были предоставлены циклы процессора, необходимые для измерения значений, которые он отслеживал. Как следствие, он ошибочно отображал нулевые значения.

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

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

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