Is there any way for a win2k8 scheduled task to have normal priority IO?

20,938

Solution 1

  1. Create the task
  2. Right click on the task and "export" it
  3. Edit the task.xml file that you just exported
  4. You will find a line similar to <Priority>7</Priority>
  5. Change the value to a normal priority (between 4-6). A table of the potential values: TaskSettings.Priority property
    • A value of 4 will have the same I/O and memory priority as an interactive process. Values of 5 and 6 will have lower memory priority
  6. In the task scheduler, delete the task you initially created
  7. In the task scheduler, in the actions area, import the task from the XML file

Solution 2

Perhaps use IO Priority to set the process's priority?

Also, see Windows Vista: Kernel Changes - I/O, I/O, It's off to work I go...

  • I/O Completion Port Improvement[…]
  • I/O Scalability Improvements[…]
  • I/O Cancellation Support[…]
  • I/O Prioritization[…]
  • I/O bandwidth reservation
Share:
20,938
Jason Mathison
Author by

Jason Mathison

Updated on June 24, 2020

Comments

  • Jason Mathison
    Jason Mathison almost 4 years

    I have a scheduled task that is very IO intensive (deleting hundreds of thousands of files). For disk space reasons, this job has to be performed reasonably quickly. On win2k8, scheduled tasks always have a low IO priority. Raising the priority of the process did not change the IO priority. Is there any way to get a scheduled task to have a normal IO priority?

  • Admin
    Admin almost 10 years
    It works for the process that was created from a scheduled task, but a spawned process (created by that process, e.g. using "cmd \c") does not get the same priority. How to bring it to the spawned process as well?
  • CoolCmd
    CoolCmd over 9 years
    4 is equal to "standard" windows priority. 5 have low memory priority (Process Explorer prompts).
  • FelixD
    FelixD over 6 years
    In 2008R2 this is correct for I/O and CPU, but does not seem to be fully correct for memory priority (also @CoolCmd): In my test, if I set the scheduled task priority to 4, it's processes (decendents) get memory priority 4. Normal interactive tasks have memory priority 5, normal scheduled tasks (scheduled task priority 7) have memory priority 3 (all read from Process Explorer). So this is still a step in between. But besides that: Thanks!