自动维护

维护活动是指有助于维护Windows电脑运行状况和性能的应用程序或进程。 维护包括使Windows操作系统 (操作系统) 和应用程序保持最新状态、检查安全性以及运行恶意软件扫描。 Windows自动管理 (WAM) 是任务计划程序 API 的一组增强功能,可用于将应用程序链接到Windows维护计划。 具体而言,WAM 允许添加需要定期计划但没有确切时间要求的活动。 相反,WAM 依赖于操作系统来选择适当的时间来全天激活任务。 系统根据对用户、电脑性能和能效的影响最小选择这些时间。

计划内维护的工作原理

任务计划程序维护任务是当计算机处于空闲状态且处于 AC 电源时运行的机会性任务。 维护任务的主要目标之一是,仅当电脑插入 AC 电源和空闲 ((即未使用或已离开计算机) 时)时,才会计划维护来最大程度地减少对电脑的影响。 目前维护的想法是使计算机能够对用户造成最少中断。 因此,旧式维护小时 (我们在 “自动维护” 中更深入地谈论这一点—本主题后面的“每日唤醒”部分) 已得到改进,以便利用这些空闲时段。 尽管仍可以利用维护时间,但运行机会性维护更适合系统运行状况。

如果计算机没有花费太多时间空闲和 AC 电源,则任务可能会耗尽。 确保方案仍会向用户提供值,即使延迟也是如此。 如果用户正在主动使用计算机,则系统会延迟维护,直到以后。 如果用户返回使用电脑,系统还会挂起任何正在执行的维护任务。

系统在下一个空闲期间重启挂起的维护任务;但是,系统不会挂起标记为“关键”的任何任务。 相反,无论用户操作如何,系统都允许关键任务完成。

由于计划的性质,某些计划任务可能无法完成:也许有太多计划事件无法适应 1 小时维护时段,或者计算机根本未打开。 在这种情况下,可以使用截止时间定义任务。 截止时间定义为定期时间范围,系统必须至少执行一次任务。

如果任务错过了截止时间,则维护计划程序将继续尝试在维护时段内执行该任务。 此外,计划程序不会将自身限制限制限制为常规 1 小时。 相反,计划程序会延长维护时段的持续时间,以完成延迟的任务。

系统完成任务 (即使失败错误代码) ,尝试也会被视为成功。 成功尝试后,计划程序会重置为常规维护计划,并将在下一个期间尝试该任务。

自动维护 - 每日唤醒

Windows 7 日,维护任务在维护时段以独占方式运行,默认为凌晨 3 点,并通过组策略进行配置。 计算机将从备用状态唤醒,运行维护任务,然后返回到睡眠状态。 此每日会话限制为每次尝试的最大持续时间 1 小时。 这将允许系统每天执行维护,默认情况下从凌晨 3 点开始。 请注意,用户可以通过配置这些设置重新计划维护触发的时间。

随着笔记本电脑的出现和对电池使用时间的沉重关注,计算机不再配置为在大多数情况下允许 S3 唤醒,通常 Doze-To-S4 (休眠) 尽快节省电池。 为了响应这些更改,任务计划程序 (> Win7) 每当其到期时运行维护任务,并且计算机处于空闲状态且处于 AC 电源上。

可以在控制面板中配置此设置。

打开 控制面板>System and SecuritySecurity>and Maintenance>自动维护

因此,根据计算机和任务的配置方式,由于此新配置,每日唤醒行为可能不会按预期发生。 首先可以确定计算机是否支持 S3,或者 CS (连接待机) 支持。 可以通过打开提升的电源外壳提示符并运行以下命令来完成此操作。

powercfg /a

维护小时,如果计算机配置正确,仍能正常工作,但如果它不起作用,则为

  • 检查 BIOS 设置是否有唤醒设置。
  • 检查是否在电源选项中启用了允许唤醒计时器。 转到 控制面板>Hardware 和 SoundPower>OptionsEdit>Plan 设置>Change 高级电源设置>单击 SleepAllow>唤醒计时器
  • 检查计划任务是否配置了以下内容。
    • MaintenanceSettings:任务应配置期间、截止时间。
    • 已启用:应启用任务。
    • WakeToRun:应允许任务唤醒计算机。
  • 对于从 CS 计划唤醒,计算机应支持 AOAC。
  • 对于在 S3 计算机中计划唤醒,
    • 检查计算机是否进入 AC 电源上的 S3。
    • 系统应在维护组策略中启用唤醒

连接待机是 AOAC 兼容的系统可以输入的系统状态。

请参阅“ 新式待机与 S3”主题中的新式待机与 S3 之间的差异。

定义自动维护任务

可以将任何任务计划程序任务转换为维护任务。 为此,必须确认应用程序可以挂起。 然后,必须使用新的 MaintenanceSettingsAllowStartOnDemand 元素扩展任务定义。

创建维护任务的主要问题是确保系统可以挂起并重启任务。 系统可能会多次挂起维护任务;因此,需要确保应用程序能够保存自己的状态,然后在任意时间恢复。 这可确保系统不会重复执行任务中的相同部分。

确保应用程序可以正常挂起和恢复后,可以使用 MaintenanceSettingsAllowStartOnDemand 元素来定义计划。 MaintenanceSettings 根据时间段、截止时间和独占性进行定义。

  • 期限是必需的,并定义任务应发生的频率。 通常,这在多天周期中定义,例如“每 5 天一次”。 期限必须至少为一天,这意味着不能安排一天中多次执行任务。
  • 截止时间是可选的,并定义计划程序在通知用户或执行紧急维护之前无法完成任务的时间。 截止时间必须长于时间段,这意味着系统必须有机会在通知用户之前至少尝试一次任务。
  • 此外,还可以选择将维护任务定义为 独占任务。 独占任务独立于其他维护任务运行。 通常,独占任务是使用大量资源(例如大量 CPU 时间)或对数据库进行独占访问的任务。 系统在启动独占任务之前完成所有非独占维护任务。 因此,仅在必要时才应将任务声明为独占任务。

相反, AllowStartOnDemand 仅指示系统或用户可以随时启动任务。 这样系统就可以在定期维护期间启动任务。 否则,必须为任务设置唯一触发器。