Tengo una tarea programada que es muy intensiva en CPU e IO, y toma alrededor de cuatro horas en ejecutarse (compilando el código fuente, si tiene curiosidad). La tarea es un script de Powershell que genera varios subprocesos para hacer su trabajo. Cuando ejecuto el mismo proceso de manera interactiva desde un indicador de Powershell, como la misma cuenta de usuario, se ejecuta en aproximadamente dos horas y media. La tarea se ejecuta en Windows Server 2008 R2.
Lo que quiero saber es por qué tarda tanto más en ejecutarse como una tarea programada, más de una hora más. Una cosa que noté es que el programador de tareas se ejecuta con una prioridad por debajo de lo normal, por lo que cuando se inicia mi tarea, hereda la misma prioridad reducida. Sin embargo, he actualizado la secuencia de comandos para volver a establecer la prioridad del proceso Powershell en Normal, y todavía me lleva el mismo tiempo.
¿Alguien tiene una idea de lo que podría ser diferente entre los dos escenarios? He descartado las diferencias en el procesador y la carga de E / S: esta tarea es lo único para lo que se usa el sistema, por lo que no hay nada más en ejecución que pueda competir por los recursos.