自動維護

維護活動是指可協助維護 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 Security> andMaintenance Automatic Maintenance> 。

因此,根據您的電腦和工作設定方式,每日喚醒行為可能不會如預期般發生,因為這個新的設定。 您可以先判斷您的電腦是否支援 S3 或 CS (連線待命) 。 您可以開啟提升許可權的電源殼層提示字元,然後執行下列命令來完成。

powercfg /a

維護時數,如果機器已正確設定,仍可運作,但如果無法運作,則為

  • 檢查您的 BIOS 設定以取得 [喚醒] 設定。
  • 檢查 [電源選項] 中是否已啟用 [允許喚醒計時器]。 移至[主控台>硬體和音效>電源選項>][編輯計畫>設定] [變更進階電源設定> ] 按一下 [睡眠>允許喚醒計時器]。
  • 檢查您的排程工作是否已使用下列專案進行設定。
    • MaintenanceSettings:工作應設定期間、期限。
    • 已啟用:應啟用工作。
    • WakeToRun:應該允許工作喚醒機器。
  • 若要排程來自 CS 的喚醒,電腦應具備 AOAC 功能。
  • 針對在 S3 機器中排程喚醒,
    • 檢查電腦是否進入 AC 電源上的 S3。
    • 系統應該在維護群組原則中啟用喚醒

連線待命是 AOAC 相容系統可以輸入的系統狀態。

請參閱 Modern Standby 與 S3 主題中的新式待命與 S3之間的差異。

定義自動維護工作

您可以將任何工作排程器工作轉換為維護工作。 若要這樣做,您必須確認您的應用程式可以暫停。 然後,您必須使用新的 MaintenanceSettingsAllowStartOnDemand 元素來擴充工作定義。

建立維護工作的主要考慮是確保系統可以暫停並重新啟動工作。 系統可能會暫停維護工作多次;因此,您必須確保應用程式能夠儲存自己的狀態,然後任意時間繼續。 這可確保系統不會重複執行相同部分的工作。

一旦您確定應用程式可以正常暫停並繼續,您就可以使用 MaintenanceSettingsAllowStartOnDemand 元素來定義排程。 MaintenanceSettings 會根據期間、期限和獨佔性來定義。

  • 期間是必要的,並定義工作應該發生的頻率。 這通常會以多天週期來定義,例如「每隔 5 天一次」。 期間至少必須是一天,這表示您無法排程工作在一天內多次發生。
  • 期限是選擇性 ,並定義排程器在通知使用者或執行緊急維護之前,無法完成工作的時間長度。 期限必須超過期間,這表示系統必須有機會至少嘗試一次工作,才能通知使用者。
  • 此外,也可以選擇性地將維護工作定義為 獨佔。 獨佔工作會與其他維護工作分開執行。 一般而言,獨佔工作是使用大量資源的資源,例如大量的 CPU 時間,或資料庫的獨佔存取權。 系統會在啟動獨佔工作之前完成所有非獨佔維護工作。 因此,只有在需要時,才應該將工作宣告為獨佔。

相反地, AllowStartOnDemand 只會指出系統或使用者可以隨時啟動工作。 這可讓系統在定期維護期間啟動工作。 否則,您必須設定工作的唯一觸發程式。