首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Windows 8和Windows 2012上任务调度器性能差

Windows 8和Windows 2012上任务调度器性能差
EN

Server Fault用户
提问于 2014-03-22 15:29:06
回答 1查看 715关注 0票数 3

当用户登录时,我使用启动提升的管理员程序。该技术以本文为基础:

http://www.sevenforums.com/tutorials/11949-elevated-program-shortcut-without-uac-prompt-create.html

注意:提升的管理员程序是一个自动化的测试程序,它需要作为管理员运行来安装程序和运行各种测试。有些测试需要管理员权限和对桌面的访问。

该任务被配置为以高于正常优先级的方式运行,如本文所述:

https://stackoverflow.com/questions/2427142/is-there-any-way-for-a-win2k8-scheduled-task-to-have-normal-priority-io

在Windows、Windows 7和Windows 2008上,一切都很好。

在Windows 8和Windows 2012上,测试程序的性能非常糟糕,通常运行时间要长5-10倍。CPU使用率和磁盘I/O都很高。Process (http://processhacker.sourceforge.net/)显示I/O优先级是正常的,页面优先级是正常的。

只有当测试程序在登录期间由任务调度程序运行时,才会出现性能低下的情况。如果我停止测试程序并通过手动运行任务调度器任务重新启动它,则恢复正常性能。

下面是测试程序的缩减版本中的一些数字:

  • 从用户登录运行的测试程序:时间37.6秒,页面错误4530,峰值WS 17.8M
  • 手动重启后相同的测试程序:时间1.1秒,页面故障4383,峰值WS 17.7M

任何帮助都将不胜感激。

EN

回答 1

Server Fault用户

发布于 2014-03-30 13:21:34

我想我有办法解决这个问题。看起来,Windows 8和Windows 2012上的计划任务的行为取决于任务何时相对于登录序列启动。

我的测试任务被延迟了。任务在登录序列的早期启动,暂停60秒,然后开始测试运行。尝试了各种延迟,但在所有情况下,Windows 8和Windows 2012的性能都很差。注意:测试任务是在几乎干净的Windows安装中运行的,因此60秒足够通过登录序列。

我更改了Test以删除内置延迟,而是使用任务调度程序的启动延迟功能。在Windows 8和Windows 2012上,测试任务配置为登录后60秒开始。此更改后,测试任务将正常运行。

我已经在MSFT的文档中找到了对这种行为的解释,但到目前为止我还是空白。

我非常感谢“charleswj81 81”、“MDMarra”和“Daniel Goldberg”。你的评论帮助我从不同的角度看待这个问题,并最终找到了一份工作。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/583862

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档