Compartilhar via


Duração dos processos de desligamento

Mais aplicável a: Desenvolvedores de aplicativos

Avaliações relevantes:

  • Desempenho de inicialização (inicialização rápida)

Quando a avaliação inicia o desligamento da sessão do usuário, cada thread de interface do usuário em cada aplicativo da GUI (Interface Gráfica do Usuário) recebe uma mensagem WM_QUERYENDSESSION. Depois que o Windows recebe uma resposta à mensagem WM_QUERYENDSESSION, o Windows envia o WM_ENDSESSION para os mesmos threads. Se após 5 segundos qualquer aplicativo não tiver respondido a essas notificações, o Windows encerrará o aplicativo. Qualquer aplicativo pode atrasar o desligamento do sistema não respondendo prontamente às mensagens.

Observação

Se um usuário iniciar o desligamento, uma caixa de diálogo do usuário será exibida após o tempo limite expirar. Essa caixa de diálogo mostra informações sobre o aplicativo que está bloqueando o desligamento e permite que o usuário force ou cancele o desligamento.

Essa métrica mede o tempo que o computador gasta desligando todos os processos na sessão do usuário.

Submétricas detalhadas

Quando a métrica é expandida, uma exibição mais detalhada é apresentada de um conjunto de submétricas que medem os tempos que cada processo individual levou para responder às notificações de desligamento. As colunas mostram as seguintes informações:

  • Um PID por iteração na coluna Detalhes. No modo de exibição padrão, essa coluna pode conter o valor "Vários" porque os PIDs não podem ser agregados entre iterações. Expanda iterações para ver PIDs individuais.

  • O tempo que esse processo específico levou durante essa fase.

Fatores típicos de influência

Essa métrica captura o tempo cumulativo de todos os processos em execução que têm threads de interface do usuário para responder à notificação de desligamento. Essa métrica pode ser afetada por um único processo que leva muito tempo, além do tempo cumulativo de todas as respostas do processo.

Cada processo que tem um thread de interface do usuário pode atrasar o desligamento do sistema atrasando sua resposta à mensagem WM_QUERYENDSESSION ou WM_ENDSESSION mensagem.

Observação

Para afetar essa métrica, um processo deve estar em execução. Como essa avaliação é reinicializada antes de coletar dados para análise, os processos em execução são quase exclusivamente de aplicativos de inicialização ou tarefas agendadas.

Etapas de análise e correção

Você pode identificar processos que afetam mais significativamente essa métrica usando a técnica Localizar o Maior Colaborador no tópico Resultados para Avaliações Ativadas/Desativadas .

Se possível, remova os aplicativos do caminho de inicialização. Como a avaliação é reinicializada antes de executar medidas, os únicos aplicativos em execução no desligamento são os aplicativos que começaram na inicialização. Como prática recomendada, os aplicativos de inicialização devem ser mantidos no mínimo. Se um aplicativo unessential estiver causando atrasos, considere removê-lo da lista de aplicativos de inicialização.

Encontre os possíveis motivos pelos quais as respostas a WM_QUERYENDSESSION mensagem ou WM_ENDSESSION podem ser atrasadas e solucione e corrija os problemas subjacentes. Consulte Práticas recomendadas para tarefas de Time-Critical no tópico Resultados para avaliações de ativação/desativação para obter uma lista de práticas recomendadas comuns.

Informações adicionais

MSDN: mensagem de WM_QUERYENDSESSION

MSDN: mensagem de WM_ENDSESSION