win2k8 计划任务有啥办法可以有正常的优先级 IO 吗?

Posted

技术标签:

【中文标题】win2k8 计划任务有啥办法可以有正常的优先级 IO 吗?【英文标题】: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 优先级?

【问题讨论】:

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

【讨论】:

以上是关于win2k8 计划任务有啥办法可以有正常的优先级 IO 吗?的主要内容,如果未能解决你的问题,请参考以下文章

Quartz.NET 与 Windows 计划任务。他们有啥不同?

Linux下怎么建立任务计划,shell文件是做啥的?以啥为后缀,前两者之间有啥关系

windows任务计划程序是怎么回事,有啥用途,该怎么设置??

Linux下怎么建立任务计划,shell文件是做啥的?以啥为后缀,前两者之间有啥关系

scheduleAtFixedRate与scheduleWithFixedDelay有啥不同

有啥命令可以获取大查询执行计划吗?