【问题标题】:Is there any way for a win2k8 scheduled task to have normal priority IO?win2k8 计划任务有什么办法可以有正常的优先级 IO 吗?
【发布时间】:2011-01-26 11:53:52
【问题描述】:

我有一个非常 IO 密集型的计划任务(删除数十万个文件)。由于磁盘空间的原因,这项工作必须相当快地执行。在 win2k8 上,定时任务的 IO 优先级总是很低。提高进程的优先级并没有改变 IO 优先级。有没有办法让计划任务具有正常的 IO 优先级?

【问题讨论】:

    标签: windows-server-2008 scheduled-tasks


    【解决方案1】:
    1. 创建任务
    2. 右键单击任务并“导出”它
    3. 编辑刚刚导出的 task.xml 文件
    4. 你会发现一行类似于<Priority>7</Priority>
    5. 将该值更改为正常优先级(4-6 之间)。潜在值表:TaskSettings.Priority property
      • 值 4 将具有与交互式进程相同的 I/O 和内存优先级。值 5 和 6 的内存优先级较低
    6. 在任务计划程序中,删除您最初创建的任务
    7. 在任务计划程序的操作区域中,从 XML 文件导入任务

    【讨论】:

    • 它适用于从计划任务创建的进程,但衍生进程(由该进程创建,例如使用“cmd \c”)不会获得相同的优先级。如何将它也带到生成的进程中?
    • 4 等于“标准”窗口优先级。 5 具有低内存优先级(进程资源管理器提示)。
    • 在 2008R2 中,这对于 I/O 和 CPU 是正确的,但对于内存优先级(也是 @CoolCmd)似乎并不完全正确:在我的测试中,如果我将计划任务优先级设置为 4 ,它的进程(后代)获得内存优先级 4。普通交互式任务的内存优先级为 5,普通的计划任务(计划任务优先级 7)的内存优先级为 3(全部从 Process Explorer 中读取)。所以这仍然是中间的一步。但除此之外:谢谢!
    【解决方案2】:

    也许是use IO Priority to set the process's priority

    另外,请参阅Windows Vista: Kernel Changes - I/O, I/O, It's off to work I go...

    • I/O 完成端口改进[…]
    • I/O 可扩展性改进[…]
    • I/O 取消支持[…]
    • I/O 优先级[…]
    • I/O 带宽预留

    【讨论】:

      猜你喜欢
      • 2014-10-28
      • 2011-06-09
      • 2023-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-14
      相关资源
      最近更新 更多