Manutenção automática
A atividade de manutenção refere-se a uma aplicação ou processo que ajuda a manter o estado de funcionamento e o desempenho de um PC Windows. A manutenção inclui manter o sistema operacional (SO) Windows e os aplicativos up-toatualizados, verificar a segurança e executar verificações de malware. O Gerenciamento Automático do Windows (WAM) é um conjunto de aprimoramentos da API do Agendador de Tarefas que você pode usar para vincular seus aplicativos à agenda de manutenção do Windows. Especificamente, o WAM permite que você adicione 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 momentos com base no impacto mínimo para o usuário, desempenho do PC e eficiência energética.
Como funciona a manutenção programada
As tarefas de manutenção do Agendador de Tarefas são tarefas oportunistas que são executadas quando a máquina está ociosa e com alimentação CA. Um dos principais objetivos das tarefas de manutenção é minimizar o impacto no PC, agendando a manutenção apenas quando o PC está conectado à alimentação CA e ocioso (ou seja, quando você não está usando ou se afastou da máquina). A ideia da manutenção hoje é que a máquina faça o trabalho com o mínimo de transtorno para o usuário. Por isso, a antiga hora de manutenção (falamos mais sobre isso na seção Manutenção automática – despertar diário mais adiante neste tópico) foi melhorada para aproveitar esses períodos ociosos. Embora a hora de manutenção ainda possa ser aproveitada, executar a manutenção oportunista é melhor para a integridade do sistema.
Sua tarefa pode ficar faminta se uma máquina não gastar muito tempo ociosa e com energia CA. Certifique-se de que seu cenário ainda fornecerá valor ao usuário, mesmo que esteja atrasado. Se o usuário estiver usando ativamente a máquina, o sistema adiará a manutenção para um momento posterior. O sistema também suspende qualquer tarefa de manutenção em execução se o usuário voltar a usar o PC.
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 ligado. Nesses casos, você pode definir uma tarefa com um prazo. Um prazo é definido como um período de tempo 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á a tentar executá-la durante a janela de manutenção. Além disso, o agendador não se limitará ao limite normal de 1 hora. Em vez disso, o agendador estende a duração da janela de manutenção para concluir a tarefa atrasada.
Uma vez que o sistema conclui a tarefa (mesmo com um código de erro de falha), a tentativa é considerada bem-sucedida. Após uma tentativa bem-sucedida, o agendador redefine para o cronograma de manutenção regular e tentará a tarefa durante o próximo período.
Manutenção automática — despertar diariamente
No Windows 7, uma tarefa de manutenção é executada exclusivamente durante hora de manutenção, com padrão para 3 AM e configurável por meio da Diretiva de Grupo. A máquina acordava do modo de espera, executava tarefas de manutenção e voltava ao modo de suspensão. Esta sessão diária foi limitada a uma duração máxima de 1 hora por tentativa. Isso permitiria que o sistema realizasse a manutenção diariamente, começando às 3 da manhã por padrão. Observe que o usuário pode reagendar o tempo que a manutenção é acionada definindo essas configurações.
Com o advento dos laptops e o grande foco na vida útil da bateria, as máquinas não estão mais configuradas para permitir que o S3 acorde na maioria das circunstâncias, e geralmente Doze-To-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 a máquina está ociosa e com alimentação CA.
Esta definição pode ser definida no Painel de Controlo.
Abra Painel de Controle>Sistema e Segurança>Segurança e Manutenção>Manutenção Automática.
Portanto, com base em como suas máquinas e suas tarefas estão configuradas, o comportamento de despertar diário pode não ocorrer hoje como esperado devido a essa nova configuração. Primeiro, você pode determinar se sua máquina é compatível com S3 ou CS (Connected Standby). Isso pode ser feito abrindo um prompt de shell de energia elevado e executando o seguinte comando.
powercfg /a
A hora de manutenção, se a máquina estiver configurada corretamente, ainda funciona, mas se não funcionar,
- Verifique as configurações do BIOS para as configurações de despertar.
- Verifique se Permitir temporizador de despertar está ativado em Opções de energia. Aceda a Painel de Controlo>Opções de Hardware e Som>Energia>Editar Definições do Plano>Alterar definições avançadas de energia> clique em Suspensão>Permitirdo Temporizador de Despertar .
- Verifique se a tarefa agendada está configurada com o seguinte.
- MaintenanceSettings: A tarefa deve ser configurada com Período, Prazo.
- Habilitado: A tarefa deve ser habilitada.
- WakeToRun: A tarefa deve ter permissão para despertar a máquina.
- Para agendar despertares de CS, a máquina deve ser capaz de AOAC.
- Para agendar despertares em máquinas S3,
- Verifique se a máquina entrou no S3 em alimentação CA.
- O sistema deve ter Wake Enabled na Diretiva de Grupo para Manutenção.
O modo de espera conectado é o estado do sistema que um sistema compatível com AOAC pode entrar.
Veja as diferenças entre Modern Standby e S3 no tópico Modern Standby 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 tal, deve confirmar que a sua candidatura pode ser suspensa. Em seguida, você deve estender a definição de tarefa com os novosMaintenanceSettings e elementos de AllowStartOnDemand.
A principal preocupação 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 sua tarefa repetidamente.
Depois de garantir que seu aplicativo possa ser suspenso e retomado normalmente, você pode usar o MaintenanceSettings e elementos de AllowStartOnDemand para definir o agendamento. MaintenanceSettings é definido de acordo com o período, prazo e exclusividade.
- O período de é 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 de pelo menos um dia, o que significa que você não pode agendar uma tarefa para ocorrer várias vezes em um dia.
- O de prazo de é opcional e define por quanto tempo o agendador pode falhar na conclusão da tarefa antes de notificar o usuário ou executar a manutenção de emergência. O prazo deve ser maior do 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 ser definida opcionalmente como exclusiva. Uma tarefa exclusiva é executada separadamente 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 apenas quando necessário.
Em contraste, 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ê teria que definir um gatilho exclusivo para a tarefa.