我注意到,通过 Windows 2008 中的“任务计划程序”运行的任务比从命令行运行的任务运行速度慢得多。我甚至尝试过提高优先级任务(将任务导出为 XML -> 更改优先级 -> 将任务导入到任务计划程序),但这似乎没有帮助。
这是设计使然吗?有没有办法确保通过任务计划程序运行的任务获得与通过命令行运行的任务大致相同的优先级的所有资源?
答案1
Windows 确实不是赋予用户界面优先级。它的作用是提高当前前台应用程序的优先级。这会使它看起来响应更快,基本上是让您的系统感觉比实际响应更快的技巧。所有其他进程通常以正常优先级运行。这适用于几乎永远以来的所有版本的 Windows(如果我没记错的话,适用于 Windows NT 4)。
因此,这是设计使然。通过任务计划程序运行的任务确实会获得与从其他地方运行的任务大致相同的优先级的 CPU 和其他资源。唯一的区别是来自任务计划程序的任务通常不能成为前台程序,因此永远不会获得优先级提升。这通常不是问题,因为您通常不会坐在那里等待计划任务的结果。
另一方面,如果从命令行运行任务可以实现您想要的效果,那么就这样做。
答案2
Windows 将优先考虑用户界面,这就是为什么某些东西直接从命令提示符运行可能跑得更快。
您是否在任务中添加了一些时间来证明这一点?
在特定时间内完成任务真的那么重要吗?