系統電源狀態
對使用者,計算機系統會顯示為開啟或關閉。 沒有其他可偵測的狀態。 不過,系統支援多個電源狀態,這些狀態對應至進階設定和 Power Interface (ACPI) 規格中定義的電源狀態。 這些狀態也有變化,例如混合式睡眠和快速啟動。 本文介紹這些狀態,並說明它們彼此的關聯性。
注意
使用系統服務建立驅動程式或應用程式的系統整合者和開發人員,應該特別小心驅動程式質量問題,例如記憶體流失。 雖然驅動程式品質一直很重要,但核心重新啟動之間的時間可能比舊版操作系統要長得多,因為核心、驅動程式和服務會在使用者起始的睡眠和關機時保留和還原,而不是重新啟動。
下表列出ACPI電源狀態,從最高到最低耗電量。
電源狀態 | ACPI 狀態 | 描述 |
---|---|---|
工作 | S0 | 系統完全可用。 未使用的硬體元件可以藉由輸入較低的電源狀態來節省電源。 |
睡眠 (現代待命) | S0 低功率閑置 | 某些 SoC 系統支援稱為新式待命的低功率閑置狀態。 在此狀態下,系統可以非常快速地從低功率狀態切換到高功率狀態,以回應硬體和網路事件。 支援新式待命的系統不會使用 S1-S3。 |
Sleep | S1 S2 S3 |
系統似乎已關閉。 在 S1-S3 狀態中耗用的電力量小於 S0 和大於 S4。 S3 耗用小於 S2 的電源,而 S2 耗用的電量小於 S1。 系統通常支援這三種狀態之一,而不是全部三種狀態。 在 S1-S3 狀態中,會持續重新整理揮發性記憶體,以維護系統狀態。 某些元件會保持電源,讓計算機可以從鍵盤、LAN 或 USB 裝置的輸入喚醒。 桌面上使用的混合式睡眠是系統使用休眠檔案搭配 S1-S3 的位置。 休眠檔案會儲存系統狀態,以防系統在睡眠時失去電源。 注意: 支援新式待命的SoC系統不會使用 S1-S3。 |
休眠 | S4 | 系統似乎已關閉。 耗電量降低到最低層級。 系統會將易失性記憶體的內容儲存至休眠檔案,以保留系統狀態。 某些元件會保持電源,讓計算機可以從鍵盤、LAN 或 USB 裝置的輸入喚醒。 如果工作內容儲存在非揮發性媒體上,則可以還原它。 快速啟動 是在建立休眠檔案之前註銷使用者的位置。 這允許較小的休眠檔案,更適合具有較少記憶體功能的系統。 |
軟關閉 | S5 | 系統似乎已關閉。 此狀態是由完整關機和開機週期所組成。 |
機械關閉 | G3 | 系統完全關閉,且不會耗用任何電源。 只有在完整重新啟動之後,系統才會回到工作狀態。 |
SYSTEM_POWER_STATE列舉會定義用來指定系統電源狀態的值。
工作狀態:S0
在工作狀態期間,系統會喚醒並執行。 簡單來說,裝置是 開啟的。 無論畫面開啟或關閉,裝置都處於完整執行狀態。 為了節省能源,特別是在電池供電的裝置上,建議您在未使用硬體元件時關閉電源。
重要
無論狀態為何,只要未使用硬體元件,請關閉硬體元件。 低耗電量是行動裝置取用者的重要考慮。
睡眠狀態:新式待命
在 工作狀態的S0 低功率閑置模式中 ,也稱為「新式待命」,系統仍會部分執行。 在新式待命期間,每當有適當的網路可用時,系統都可以保持最新狀態,也可以在需要即時動作時喚醒,例如OS維護。 新式待命喚醒速度明顯高於 S1-S3。 如需詳細資訊,請參閱 新式待命。
注意
新式待命僅適用於某些 SoC 系統。 支援時,系統不支援 S1-S3。
警告
請勿在支援新式 Standaby 的系統上啟用 S3 網路喚醒 (WoL)。 新式待命原生支援使用魔術封包喚醒計算機。 不需要啟用舊版 S3 WoL,而且可能會導致網路上的 DHCP 和/或 DNS 封包風暴。
睡眠狀態:S1-S3
系統會根據數個準則輸入睡眠,包括使用者或應用程式活動,以及使用者在 設定 應用程式之Power和睡眠頁面上設定的喜好設定。 根據預設,系統會使用所有啟用喚醒裝置所支援的最低電源睡眠狀態。 如需系統如何決定何時進入睡眠的詳細資訊,請參閱 系統睡眠準則。
在系統進入睡眠之前,它會決定適當的睡眠狀態、通知應用程式與暫止轉換的驅動程式,然後將系統轉換為睡眠狀態。 在重大轉換的情況下,例如達到關鍵電池閾值時,系統不會通知應用程式和驅動程式。 應用程式必須為此做好準備,並在系統返回工作狀態時採取適當的動作。
在 S1-S3 狀態中,會持續重新整理揮發性記憶體,以維護系統狀態。 某些元件會保持電源,讓計算機可以從鍵盤、LAN 或 USB 裝置的輸入喚醒。
系統也會從睡眠中喚醒,以回應應用程式所定義的用戶活動或喚醒事件。 如需詳細資訊,請參閱 系統喚醒事件。 系統喚醒所花費的時間量取決於它從中喚醒的睡眠狀態。 由於硬體可能必須執行的額外工作,系統需要花費更多時間從較低電源狀態 (S3) 喚醒,而不是從電源較高的狀態 (S1) 喚醒。 例如,穩定電源或重新初始化處理器。
警告
呼叫 SetThreadExecutionState 時, ES_AWAYMODE_REQUIRED
只有當需要系統執行背景工作的媒體應用程式絕對必要時,才應該使用此值,例如錄製電視內容或串流媒體到其他裝置,而系統似乎處於睡眠狀態。 不需要重要背景處理或在可攜式計算機上執行的應用程式不應該啟用離開模式,因為它可防止系統輸入真正的睡眠來節省電源。
混合式睡眠:S1-S3 + 休眠檔案
混合式睡眠 是睡眠和休眠狀態的組合的特殊狀態。 這是當系統搭配 S1-S3 使用休眠檔案時。 混合式睡眠僅適用於某些系統。 啟用時,系統會寫入休眠檔案,但進入較高電源的睡眠狀態。 如果系統睡眠時電源中斷,系統會從休眠中喚醒,這需要較長的時間,但會還原用戶的系統狀態。
休眠狀態:S4
Windows 使用休眠來提供快速啟動體驗。 當可用時,它也會在行動裝置上使用,藉由提供一個機制來節省所有用戶的狀態,再關閉系統,來延長系統的可用電池使用時間。 在休眠轉換中,記憶體的所有內容都會寫入主要系統磁碟驅動器上的檔案,也就是 休眠檔案。 這會保留作業系統、應用程式和裝置的狀態。 在合併記憶體使用量耗用所有物理記憶體的情況下,休眠檔案必須夠大,以確保有空間可節省物理記憶體的所有內容。 由於數據會寫入非揮發性記憶體,DRAM 不需要維護自我重新整理,而且可以關閉電源,這表示休眠的耗電量非常低,幾乎與關閉電源相同。
在完整關機和開機期間,整個用戶會話會在下一次開機時被拆毀並重新啟動。 相反地,在休眠期間(S4),使用者會話會關閉並儲存用戶狀態。
快速啟動:減少休眠檔案
快速啟動 是使用休眠檔案來加速後續開機的關機類型。 在這種類型的關機期間,使用者會在建立休眠檔案之前註銷。 快速啟動允許較小的休眠檔案,更適合具有較少儲存功能的系統。 如需詳細資訊,請參閱 休眠文件類型。
使用快速啟動時,即使系統實際上已經通過 S4,系統仍會顯示給使用者,就像發生完整關機 (S5) 一樣。 這包括系統如何回應裝置喚醒警示。
快速啟動會註銷用戶會話,但核心 (工作階段 0) 的內容會寫入硬碟。 這可加快開機速度。
若要以程式設計方式起始快速啟動樣式關機,請使用 旗標呼叫 InitiateShutdown 函式,或使用旗標呼叫 ExitWindowsEx 函式。SHUTDOWN_HYBRID
EWX_HYBRID_SHUTDOWN
注意
在 Windows 中,要求系統關機時,快速啟動是預設轉換。 要求系統重新啟動或應用程式呼叫關機 API 時,就會發生完整關機 (S5)。
輸入休眠
提出休眠要求時,當系統進入休眠狀態時,會發生下列步驟:
- 應用程式與服務會收到通知
- 驅動程式會收到通知
- 使用者和系統狀態會以壓縮格式儲存至磁碟
- 韌體已收到通知
注意
系統上的所有核心都會用來壓縮記憶體中的數據,並將其寫入磁碟。
若要以程序設計方式起始休眠轉換,請呼叫 SetSuspendState 函式。
從休眠中繼續
當系統從休眠狀態繼續時。
當系統開啟電源時,當系統從休眠狀態繼續時,就會發生下列步驟:
- 系統 POST
- 系統會從休眠檔案解壓縮並還原系統記憶體
- 裝置初始化
- 驅動程式會還原到他們在休眠前的狀態
- 服務會還原至休眠前的狀態
- 系統變成可供登入
休眠中的繼續作業會從類似於 S5 關機的系統 POST 開始。 OS 開機管理員會偵測有效的休眠檔案,判斷需要從休眠繼續。 然後,它會指示系統繼續,還原記憶體的內容和所有架構緩存器。 在從休眠繼續的情況下,系統記憶體的內容會從磁碟讀取回、解壓縮和還原,這會讓系統處於休眠狀態。 還原記憶體之後,裝置會重新啟動,機器會回到執行中狀態,準備好登入。
注意
在休眠的履歷期間,驅動程式和服務會收到通知,但不會重新啟動。 它們只會還原到他們在休眠前的狀態。
休眠檔類型
休眠檔案用於混合式睡眠、快速啟動和 標準休眠。 有兩種類型,依大小、完整和縮小大小的休眠檔案區分。 只有快速啟動可以使用降低的休眠檔案。
休眠檔類型 | 默認大小 | 支援。。。 |
---|---|---|
完整 | 40% 的實體記憶體 | 休眠,混合式睡眠,快速啟動 |
減少 | 20% 的實體記憶體 | 快速啟動 |
若要驗證或變更所使用的休眠文件類型,請執行 powercfg.exe 公用程式。 下列範例示範如何。 如需詳細資訊,請執行 powercfg /? hibernate
。
範例 | 描述 |
---|---|
powercfg /a |
確認休眠文件類型。 使用完整休眠檔案時,結果會指出休眠是可用的選項。 使用減少的休眠檔案時,結果會指出不支援休眠。 如果系統完全沒有休眠檔案,結果會指出尚未啟用休眠。 |
powercfg /h /type full |
將休眠檔類型變更為完整。 不建議在記憶體少於 32GB 的系統上使用。 |
powercfg /h /type reduced |
將休眠檔類型變更為縮減。 如果命令傳回「參數不正確」,請參閱下列範例。 |
powercfg /h /size 0 powercfg /h /type reduced |
重試將休眠文件類型變更為縮減。 如果休眠檔案設定為大於 40% 的自訂大小,您必須先將檔案的大小設定為零。 然後重試縮減的組態。 |
軟關閉狀態:S5
軟關閉狀態是當系統完全關閉而不使用休眠檔案時。 軟關閉也稱為 完整關機。 在完整關機和開機期間,整個用戶會話會在下一次開機時中斷並重新啟動。 因此,來自此狀態的開機/啟動時間比 S1-S4 長很多。 要求系統重新啟動或應用程式呼叫關機 API 時,就會發生完整關機 (S5)。
機械關閉狀態:G3
在此狀態下,系統完全關閉,且不會耗用任何電源。 只有在完整重新啟動之後,系統才會回到工作狀態。
網路喚醒行為
網路喚醒 (WOL) 功能會在網路適配器偵測到 WOL 事件時,從低功率狀態喚醒電腦(通常是特別建構的乙太網路封包)。
S3 睡眠或 S4 休眠支援 WOL。 不支援從快速啟動或 S5 軟關閉狀態。 NIC 不會在這些狀態中武裝喚醒,因為使用者不期望其系統自行喚醒。
注意
S5 軟關閉狀態不支援 WOL。 不過,某些系統上的 BIOS 可能支援武裝 NIC 進行喚醒,即使 Windows 未參與此程式也一樣。