Partager via


Durée des processus d’arrêt

Le plus applicable à : Développeurs d’applications

Évaluations pertinentes :

  • Performances de démarrage (démarrage rapide)

Lorsque l’évaluation lance l’arrêt de la session utilisateur, chaque thread d’interface utilisateur dans chaque application d’interface utilisateur graphique (GUI) reçoit un message WM_QUERYENDSESSION. Une fois que Windows a reçu une réponse au message WM_QUERYENDSESSION, Windows envoie le WM_ENDSESSION aux mêmes threads. Si, après 5 secondes, une application n’a pas répondu à ces notifications, Windows arrête l’application. Toute application peut retarder l’arrêt du système en ne répondant pas rapidement aux messages.

Notes

Si un utilisateur lance l’arrêt, une boîte de dialogue utilisateur s’affiche après l’expiration du délai d’expiration. Cette boîte de dialogue affiche des informations sur l’application qui bloque l’arrêt et permet à l’utilisateur de forcer ou d’annuler l’arrêt.

Cette métrique mesure le temps pendant lequel l’ordinateur passe à arrêter tous les processus dans la session utilisateur.

Sous-métriques détaillées

Lorsque la métrique est développée, une vue plus détaillée est présentée d’un ensemble de sous-métriques qui mesurent le temps que chaque processus individuel a pris pour répondre aux notifications d’arrêt. Les colonnes affichent les informations suivantes :

  • PiD par itération dans la colonne Détail. Dans la vue par défaut, cette colonne peut contenir la valeur « Divers », car les PID ne peuvent pas être agrégés entre les itérations. Développez les itérations pour voir les PID individuels.

  • Le temps que ce processus particulier a pris au cours de cette phase.

Facteurs d’influence typiques

Cette métrique capture le temps cumulé de tous les processus en cours d’exécution qui ont des threads d’interface utilisateur pour répondre à la notification d’arrêt. Cette métrique peut être affectée par un processus unique qui prend trop de temps, en plus du temps cumulé de toutes les réponses de processus.

Chaque processus qui a un thread d’interface utilisateur peut retarder l’arrêt du système en retardant sa réponse au message WM_QUERYENDSESSION ou au message WM_ENDSESSION.

Notes

Pour avoir un impact sur cette métrique, un processus doit être en cours d’exécution. Étant donné que cette évaluation redémarre avant de collecter des données à des fins d’analyse, les processus en cours d’exécution proviennent presque exclusivement d’applications de démarrage ou de tâches planifiées.

Étapes d’analyse et de correction

Vous pouvez identifier les processus qui ont le plus d’impact sur cette métrique à l’aide de la technique Rechercher le plus grand contributeur dans la rubrique Résultats pour les évaluations activées/désactivées .

Si possible, supprimez les applications du chemin de démarrage. Étant donné que l’évaluation redémarre avant d’effectuer des mesures, les seules applications qui s’exécutent à l’arrêt sont les applications qui ont commencé au démarrage. En guise de meilleure pratique, les applications de démarrage doivent être maintenues au minimum. Si une application non indispensable provoque des retards, envisagez de la supprimer de la liste des applications de démarrage.

Recherchez les raisons possibles pour lesquelles les réponses à WM_QUERYENDSESSION message ou WM_ENDSESSION peuvent être retardées, puis résolvez les problèmes sous-jacents. Pour obtenir la liste des meilleures pratiques courantes , consultez Meilleures pratiques pour les tâches Time-Critical dans la rubrique Résultats des évaluations activées/désactivées .

Informations supplémentaires

MSDN : message WM_QUERYENDSESSION

MSDN : message WM_ENDSESSION