We have noticed that programs that run via Task Scheduler perform worse than when launched by the user. It seems others have noticed this too. It's apparently because by default, Task Scheduler runs programs at a lower priority. Changing the priority confirms it: the programs perform as they should.

Intuitively this would make sense if other things were going on in the system: higher priority programs get their turn first, and then whatever is left, to consume all of the machines resources. But this isn't the case: our server isn't doing anything else. This background task is effectively the only thing running, and yet it's reading from disk and transfering over the network at a small fraction of what it's capable of. This might make sense if we were talking about a laptop (need to conserve battery), but we're talking about Windows Server 2019 here (aka Windows 10 1809).

Why doesn't Windows consume its resources to the fullest if nothing is competing for them?

  • 1
    Do you want something different to "because they designed their task scheduler like this"? Because that's what they did, I think from Server 2008 (R2) onwards. – Lenniey Jun 5 at 15:01
  • @Lenniey Maybe. Do you know of any resources where they say this? – Sam Rueby Jun 5 at 15:14
  • 1
    here: The priority level (0-10) of the task. The default is 7. and: Priority level 0 is the highest priority, and priority level 10 is the lowest priority. The default value is 7. Priority levels 7 and 8 are used for background tasks, and priority levels 4, 5, and 6 are used for interactive tasks. and here – Lenniey Jun 5 at 15:22
  • Those links don't explain why Windows won't use all of its resources when only lower-priority processes are running. – Sam Rueby Jun 5 at 15:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.