Поделиться через


Длительность приостановки процессов

Наиболее применимо к: Разработчики приложений

Соответствующие оценки:

  • Производительность загрузки (быстрый запуск)
  • Производительность в режиме ожидания
  • Производительность гибернации

Эта метрика измеряет время, которое компьютер тратит на уведомление процессов о предстоящем изменении состояния питания.

На этом этапе серверная подсистема среды выполнения клиента или сервера (Csrss.exe) передает WM_POWERBROADCAST оконные сообщения вместе с типом события PBT_APMSUSPEND каждому приложению, которому принадлежит окно. Система также может выключить монитор.

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

Просмотрите диаграмму Использование ЦП (выборка) за это время, чтобы показать использование ЦП в процессе csrss.exe в следующем стеке:

[Root] (csrss.exe) 
winsrv.dll!RegisterForDeviceBroadcastNotifications 
|- winsrv.dll!ZwUserCallNoParam 
|    win32k.sys!xxxUserPowerStateCalloutWorker 
|    |- win32k.sys!PowerOffMonitor 
|    |    |- win32k.sys!FadeDesktop 
|    |    |- win32k.sys!DrvSetMonitorPowerState 
|    |    |- win32k.sys!UpdateDisplayState 
|    |    |- win32k.sys!DwmSyncClearSwapChain 
|    |    |- win32k.sys!RestoreGammaRamp

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

При развертывании метрики отображается более подробное представление этапа с набором подметрий, которые измеряют время, за которое каждый процесс отвечает на уведомления о приостановке. В столбцах отображаются следующие сведения:

  • Идентификатор PID по итерации в столбце Подробности . В представлении по умолчанию этот столбец может содержать значение "Различные", так как идентификаторы идентификаторов нельзя агрегировать по итерациям. Разверните итерации, чтобы просмотреть отдельные ИДЕНТИФИКАТОРы.

  • Время, которое потребовалось данному процессу на данном этапе.

Примечание

Если приложение имеет несколько окон, один и тот же процесс может получить несколько уведомлений.

Типичные факторы влияния

Каждое приложение может задержать завершение работы системы, отложив ответ на сообщение WM_POWERBROADCAST с PBT_APMSUSPEND типом события. Так как эта метрика фиксирует совокупное время, которое требуется всем процессам графического пользовательского интерфейса Windows для реагирования на уведомление о приостановке, на эту метрику может повлиять один процесс, который занимает слишком много времени, в дополнение к совокупному времени всех ответов процесса. Обратите внимание, что процесс должен быть запущен, чтобы повлиять на эту метрику; Поскольку оценка производительности загрузки (быстрый запуск) перезагружается перед сбором данных для анализа, эти процессы поступают почти исключительно из запускаемых приложений или запланированных задач.

Шаги по анализу и исправлению

Определите процессы, которые наиболее сильно влияют на эту метрику. В консоли оценки Windows разверните метрику Длительность приостановки процессов , чтобы получить сведения об этом этапе. В списке Процесс для этого этапа отсортируйте длительность в порядке убывания и найдите наиболее крупных участников.

По возможности удалите приложения из пути запуска. Рекомендуется свести к минимуму запускаемых приложений. Если несуществующее приложение вызывает задержки, рассмотрите возможность удаления его из списка запускаемых приложений.

Устранение неполадок и устранение проблем, которые значительно влияют на путь запуска, требуют глубокого анализа задержек приложений. Список распространенных рекомендаций см. в разделе Рекомендации по Time-Critical задач в разделе Результаты оценок включения и выключения .

Дополнительная информация

MSDN: событие PBT_APMSUSPEND