问题
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?
回答1:
- Create the task
- Right click on the task and "export" it
- Edit the task.xml file that you just exported
- You will find a line similar to
<Priority>7</Priority>
- 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
- In the task scheduler, delete the task you initially created
- In the task scheduler, in the actions area, import the task from the XML file
回答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
来源:https://stackoverflow.com/questions/2427142/is-there-any-way-for-a-win2k8-scheduled-task-to-have-normal-priority-io