Como executar um programa quando a CPU / memória atingir um certo%?

0

Simplificando, eu tenho um programa muito útil, vamos chamá-lo de "Bigbro" que precisa rodar 24/7, eu fiz um script com gravador de macro para matar automaticamente todas as instâncias do BigBro e outro script que inicia todas as instâncias do BigBro (precisa ser logado no qual eu tenho um script fazendo isso para mim por si mesmo).

O programa em que estou me deparando é que o BigBro gosta de vazamento de memória, às vezes depois de uma hora de execução, às vezes depois de 5 horas ... Eu poderia reiniciá-lo à força a cada hora, mas não conseguiria usar meu PC como eu terei um script que basicamente estará sempre ligado. Eu poderia fazer o gerenciador de tarefas, mas novamente é disruptivo, eu gostaria apenas de matar o BigBro quando ele atinge pelo menos 30% do uso da CPU.

    
por Ginzo Milani 01.08.2016 / 02:34

1 resposta

0

O serviço Agendador de Tarefas do Windows tem a capacidade de executar uma tarefa agendada com base em outras condições além de um horário específico. É possível executar uma tarefa quando um evento específico aparece no log de eventos . Se o programa em questão criar algum erro no log de eventos quando ele começar a agir, você poderá usar um desses para acionar seu script.

A ferramenta Monitor de Desempenho do Windows também pode fornecer uma maneira de monitorar condições específicas de desempenho e disparar eventos com base neles. Você pode criar um coletor de dados do monitor de desempenho e criar um alerta com base em vários itens de desempenho, incluindo utilização da CPU, largura de banda da rede, consumo de memória, etc. introdução ao uso do Perfmon pode ser encontrada aqui. As instruções mencionam o servidor 2012 e o Windows 7, mas o Perfmon no Windows 10 é bem parecido.

Esses alertas podem ser usados para gravar um item no log de eventos do aplicativo, o que pode, por sua vez, acionar uma tarefa agendada ou executar diretamente uma tarefa WMI específica quando o alerta ocorrer.

    
por 01.08.2016 / 02:50