Partilhar via


Manutenção automática

Atividade de manutenção refere-se a um aplicativo ou processo que ajuda a manter a integridade e o desempenho de um computador Windows. A manutenção inclui manter os aplicativos e o sistema operacional Windows atualizados, verificar a segurança e executar verificações de malware. O WAM (Gerenciamento Automático do Windows) é um conjunto de aprimoramentos para a API do Agendador de Tarefas que você pode usar para vincular seus aplicativos ao agendamento de manutenção do Windows. Especificamente, o WAM permite adicionar atividades que exigem agendamento regular, mas que não têm requisitos de tempo exatos. Em vez disso, o WAM depende do sistema operacional para escolher o horário apropriado para ativar a tarefa ao longo do dia. O sistema escolhe esses horários com base no impacto mínimo para o usuário, o desempenho do computador e a eficiência energética.

Como funciona a manutenção agendada

As tarefas de manutenção do Agendador de Tarefas são tarefas oportunistas que são executadas quando o computador está ocioso e com energia ac. Uma das principais metas de tarefas de manutenção é minimizar o impacto no computador agendando a manutenção somente quando o computador estiver conectado à energia ac e ocioso (ou seja, quando você não estiver usando ou tiver se afastado do computador). A ideia de manutenção hoje é que o computador trabalhe com a menor interrupção para o usuário. Portanto, a hora de manutenção de estilo antigo (falamos mais sobre isso na seção Manutenção automática — ativação diária posteriormente neste tópico) foi aprimorada para aproveitar esses períodos ociosos. Embora a hora de manutenção ainda possa ser aproveitada, a execução da manutenção oportunista é melhor para a integridade do sistema.

Sua tarefa poderá ficar sem energia se um computador não passar muito tempo ocioso e com energia AC. Verifique se seu cenário ainda fornecerá valor ao usuário, mesmo que esteja atrasado. Se o usuário estiver usando ativamente o computador, o sistema adiará a manutenção até um momento posterior. O sistema também suspende qualquer tarefa de manutenção em execução se o usuário voltar a usar o computador.

O sistema reinicia uma tarefa de manutenção suspensa durante o próximo período ocioso; no entanto, o sistema não suspenderá nenhuma tarefa marcada como crítica. Em vez disso, o sistema permite que uma tarefa crítica seja concluída, independentemente da ação do usuário.

Devido à natureza do agendamento, algumas tarefas agendadas podem não ser concluídas: talvez haja muitos eventos agendados para caber na janela de manutenção de 1 hora ou talvez o computador simplesmente não tenha sido ativado. Nesses casos, você pode definir uma tarefa com um prazo. Um prazo é definido como um período recorrente no qual o sistema deve executar a tarefa com êxito pelo menos uma vez.

Se uma tarefa perder um prazo, o agendador de manutenção continuará tentando executar a tarefa durante a janela de manutenção. Além disso, o agendador não se limitará ao limite regular de 1 hora. Em vez disso, o agendador estende a duração da janela de manutenção para concluir a tarefa atrasada.

Depois que o sistema concluir a tarefa (mesmo com um código de erro de falha), a tentativa será considerada bem-sucedida. Após uma tentativa bem-sucedida, o agendador é redefinido para o agendamento de manutenção regular e tentará a tarefa durante o próximo período.

Manutenção automática – ativação diária

No Windows 7, uma tarefa de manutenção é executada exclusivamente durante a hora de manutenção, com padrão às 3h e configurável por meio de Política de Grupo. O computador acordava de espera, executava tarefas de manutenção e voltava a dormir. Esta sessão diária foi limitada a uma duração máxima de 1 hora por tentativa. Isso permitiria que o sistema executasse a manutenção diariamente, começando às 3 da manhã por padrão. Observe que o usuário pode agendar novamente a hora em que a manutenção é disparada definindo essas configurações.

Com o advento dos laptops e o foco pesado na duração da bateria, os computadores não estão mais configurados para permitir a ativação S3 na maioria das circunstâncias e, geralmente, Doze-Para-S4 (hibernar) o mais rápido possível, para economizar bateria. Em resposta a essas alterações, o Agendador de Tarefas (> Win7) executa tarefas de manutenção sempre que elas são devidas, e o computador está ocioso e com energia AC.

Essa configuração pode ser configurada em Painel de Controle.

Abra Painel de Controle>Sistema e Segurança>Manutenção Automáticade Segurança e Manutenção>.

Portanto, com base em como seus computadores e suas tarefas são configurados, o comportamento de ativação diária pode não ocorrer hoje conforme o esperado devido a essa nova configuração. Primeiro, você pode determinar se o computador tem capacidade para S3 ou CS (modo de espera conectado). Isso pode ser feito abrindo um prompt de power shell com privilégios elevados e executando o comando a seguir.

powercfg /a

A hora de manutenção, se o computador estiver configurado corretamente, ainda funcionará, mas se não funcionar,

  • Verifique as configurações do BIOS para configurações de ativação.
  • Verifique se Permitir Temporizador de Ativação está habilitado no Power Options. Vá para Painel de Controle> Configurações do Plano >de Edição deOpções> de Energia de Som eHardware e Som>Altere as configurações avançadas> de energia, clique em PermitirTemporizador de Ativação de Suspensão>.
  • Verifique se a tarefa agendada está configurada com o seguinte.
    • MaintenanceSettings: a tarefa deve ser configurada com Period, Deadline.
    • Habilitado: a tarefa deve ser habilitada.
    • WakeToRun: a tarefa deve ter permissão para ativar o computador.
  • Para velórios de agendamento do CS, o computador deve ser compatível com AOAC.
  • Para agendar ativações em computadores S3,
    • Verifique se o computador entrou no S3 no AC Power.
    • O sistema deve ter o Wake Enabled no Política de Grupo for Maintenance.

Espera Conectada é o estado do sistema que um sistema compatível com AOAC pode inserir.

Confira as diferenças entre o Modo de Espera Moderno e o S3 no tópico Modo de Espera Moderno vs. S3.

Definindo uma tarefa de manutenção automática

Você pode converter qualquer tarefa do Agendador de Tarefas em uma tarefa de manutenção. Para fazer isso, você deve confirmar se seu aplicativo pode ser suspenso. Em seguida, você deve estender a definição de tarefa com os novos elementos MaintenanceSettings e AllowStartOnDemand .

A preocupação main com a criação de uma tarefa de manutenção é garantir que o sistema possa suspender e reiniciar a tarefa. O sistema provavelmente suspenderá uma tarefa de manutenção várias vezes; portanto, você precisa garantir que seu aplicativo seja capaz de salvar seu próprio estado e, em seguida, retomar em um momento arbitrário. Isso garante que o sistema não execute a mesma parte da tarefa repetidamente.

Depois de garantir que seu aplicativo possa ser suspenso e retomado normalmente, você poderá usar os elementos MaintenanceSettings e AllowStartOnDemand para definir o agendamento. MaintenanceSettings é definido de acordo com o período, o prazo e a exclusividade.

  • O período é obrigatório e define a frequência com que a tarefa deve ocorrer. Normalmente, isso é definido em termos de um ciclo de vários dias, como "uma vez a cada 5 dias". Um período deve ser pelo menos um dia, o que significa que você não pode agendar uma tarefa para ocorrer várias vezes em um dia.
  • O prazo é opcional e define por quanto tempo o agendador pode falhar ao concluir a tarefa antes de notificar o usuário ou executar a manutenção de emergência. O prazo deve ser maior que o período, o que significa que o sistema deve ter a oportunidade de tentar a tarefa pelo menos uma vez antes de notificar o usuário.
  • Além disso, uma tarefa de manutenção pode, opcionalmente, ser definida como exclusiva. Uma tarefa exclusiva é executada separada de outras tarefas de manutenção. Normalmente, uma tarefa exclusiva é aquela que usa uma grande quantidade de recursos, como uma grande quantidade de tempo de CPU ou acesso exclusivo a um banco de dados. O sistema conclui todas as tarefas de manutenção não exclusivas antes de iniciar uma tarefa exclusiva. Portanto, você deve declarar uma tarefa como exclusiva somente quando necessário.

Por outro lado, AllowStartOnDemand apenas indica que o sistema ou o usuário pode iniciar a tarefa a qualquer momento. Isso permite que o sistema inicie a tarefa durante a manutenção regular. Caso contrário, você precisará definir um gatilho exclusivo para a tarefa.