Share via


Duración de los procesos de suspensión

Más aplicable a: Desarrolladores de aplicaciones

Evaluaciones pertinentes:

  • Rendimiento de arranque (inicio rápido)
  • Rendimiento en espera
  • Rendimiento de hibernación

Esta métrica mide el tiempo que el equipo dedica a notificar los procesos del cambio de estado de energía inminente.

Durante esta fase, el Subsistema de servidor en tiempo de ejecución de cliente (Csrss.exe) difunde WM_POWERBROADCAST mensajes de ventana junto con el tipo de evento de PBT_APMSUSPEND a cada aplicación que posee una ventana. El sistema también puede apagar el monitor.

Esta actividad se puede ver en el gráfico Actividades WPA como una gran diferencia entre procesos consecutivos que se están suspendiendo. Se espera que un segundo o más apaguen el monitor. Se trata de una fase necesaria durante la suspensión o apagado, y no debe considerarse un cuello de botella de rendimiento para esta métrica.

Examine el gráfico Uso de CPU (muestreado) durante este tiempo para mostrar el uso de cpu en el proceso de csrss.exe en la pila siguiente:

[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

Las brechas en Suspender procesos debido al consumo de CPU en otras pilas, o retrasos sin el uso de CPU en la pila actual, pueden sugerir áreas para investigar más.

Cuando se expande la métrica, se presenta una vista de fase más detallada, con un conjunto de submétricas que miden los tiempos que tomó cada proceso para responder a las notificaciones de suspensión. Las columnas muestran la siguiente información:

  • Un PID por iteración en la columna Detalle . En la vista predeterminada, esta columna puede contener el valor "Varios" porque los PID no se pueden agregar entre iteraciones. Expanda iteraciones para ver LOS PID individuales.

  • El tiempo que tomó este proceso en particular durante esta fase.

Nota

Si una aplicación tiene más de una ventana, el mismo proceso puede recibir más de una notificación.

Factores típicos de influencia

Cada aplicación tiene la capacidad de retrasar el apagado del sistema retrasando su respuesta al mensaje WM_POWERBROADCAST con PBT_APMSUSPEND tipo de evento. Dado que esta métrica captura el tiempo acumulado que tardan todos los procesos de GUI de Windows para responder a la notificación de suspensión, esta métrica puede verse afectada por un único proceso que tarda demasiado tiempo, además de un tiempo acumulado de todas las respuestas del proceso. Tenga en cuenta que el proceso debe ejecutarse para afectar a esta métrica; dado que la evaluación de rendimiento de arranque (inicio rápido) se reinicia antes de recopilar datos para el análisis, estos procesos proceden casi exclusivamente de aplicaciones de inicio o tareas programadas.

Pasos de análisis y corrección

Identifique los procesos que afectan más significativamente a esta métrica. En la Consola de evaluación de Windows, expanda la métrica Suspender la duración de los procesos para obtener los detalles de esta fase. En la lista Proceso de esta fase, ordene la duración en orden descendente y busque los colaboradores más grandes.

Si es posible, quite las aplicaciones de la ruta de inicio. Como procedimiento recomendado, las aplicaciones de inicio deben mantenerse como mínimo. Si una aplicación no esencial está causando retrasos, considere la posibilidad de quitarla de la lista de aplicaciones de inicio.

La solución de problemas y la solución de problemas que afectan significativamente a la ruta de inicio requiere un análisis profundo de los retrasos de la aplicación. Consulte Procedimientos recomendados para Time-Critical tareas en el tema Resultados de las evaluaciones activadas y desactivadas para obtener una lista de procedimientos recomendados comunes.

Información adicional

MSDN: evento PBT_APMSUSPEND