J'ai programmé une tâche très gourmande en ressources CPU et IO, qui prend environ quatre heures à exécuter (construction du code source, si vous êtes curieux). Cette tâche est un script Powershell script qui génère divers sous-processus pour effectuer son travail. Lorsque j'exécute le même processus de manière interactive à partir d'une invite Powershell, avec le même compte d'utilisateur, il s'exécute en deux heures et demie environ. La tâche est exécutée sur Windows Server 2008 R2.
Ce que je veux savoir, c'est pourquoi il faut beaucoup plus de temps pour l'exécuter en tant que tâche planifiée - plus d'une heure de plus. Une chose que j'ai remarquée est que le planificateur de tâches fonctionne avec une priorité inférieure à la normale, de sorte que lorsque ma tâche démarre, elle hérite de la même priorité réduite. Cependant, j'ai mis à jour le script pour rétablir la priorité du processus Powershell à Normal, et cela prend toujours autant de temps.
Quelqu'un a-t-il une idée de ce qui pourrait différer entre les deux scénarios ? J'ai exclu les différences de charge du processeur et des entrées-sorties - cette tâche est la seule chose pour laquelle le système est utilisé, donc il n'y a rien d'autre en cours d'exécution qui pourrait être en concurrence pour les ressources.