共用方式為


閒置能源效率評估結果

適用於:Windows 11

閒置能源效率是可以額外加到能源效率工作中的一項工作負載。 執行閒置工作負載的能源效率工作會測量筆電閒置時的耗電量,並評估行動電腦的能源消耗與電池續航力。 欲了解更多關於建立能源效率工作及新增閒置能源效率工作負載的資訊,請參閱 「建立並執行能源效率工作」。

閒置能源效率的結果顯示出指標和問題,突顯出能源效率的相關問題。 盡可能找出能源效率問題的原因。 例如,可能是驅動程式、程序或服務。 針對這些問題,書中提供了建議的解決方案。

這個主題幫助你解讀使用閒置工作負載的能源效率工作所產生的結果。 同時也提供如何利用結果識別並解決影響系統電池壽命的常見問題指引。

本主題內容:

欲了解更多能源效率職缺資訊,請參閱 「建立並執行能源效率職缺」。

關於閒置能源效率

能源效率優化了 Windows 基礎硬體平台、Windows 作業系統及擴充套件的功耗(瓦特時)效能。 這些領域各自有獨特的挑戰。

基礎硬體平台。 這包括處理器、晶片組與記憶體,對於行動平台則包括電池容量。 購買行動系統時,客戶面臨相當多的選擇,從擁有超高效硬體元件的系統,到偏好反應速度勝過耗電的系統。 基礎硬體平台對功耗有顯著影響。 最大處理器速度、核心數量、處理器行動性以及記憶體容量都是考量因素。

Windows 作業系統。 Windows 管理系統中的許多裝置,並根據使用情況與主動電源管理政策在反應速度與耗電之間做權衡。 最終使用者透過電源計畫和設定來決定電源管理政策。 作業系統的挑戰在於妥善管理裝置電力,並確保新 Windows 功能的資源使用效率盡可能高。

大多數使用者透過控制面板或設定中的電源選項來控制 Windows 電源管理。 它們可以控制各種 Windows 省電功能,例如關閉顯示器的非活動定時器。 這些設定會對系統的電池續航力產生重大影響。 例如,LCD 面板可使用高達系統總功率的 43%。

擴充功能 擴充功能包括裝置、驅動程式、服務與應用程式。 裝置、驅動程式及其他軟體對耗電量有顯著影響。 例如,單一應用程式可能影響電池壽命 20% 或更多。 要實現Windows系統的卓越能源效率,需要在每個方面都進行優化。 任何單一元件在任何區域出現問題,都可能對耗電產生重大影響。

閒置能源效率工作負載模擬使用者未與系統互動的一段時間。 例如,當使用者閱讀網頁、在輸入文件第二段前思考,或在簡報時回答問題時,系統處於閒置狀態。 在空閒狀態下減少耗電,可以提升系統的整體電池壽命。 閒置處理器的功耗僅有100-300 mW,完全啟動時則高達35 W。少量活動可能導致電力消耗顯著增加。

閒置功耗是功耗的下限。 一個系統在閒置時消耗10瓦,運行其他工作負載時耗電超過10瓦,因此當你降低閒置期間的功耗時,可能會在其他情境下看到改善。

一個具有閒置工作負載的能源效率任務會分為五個階段:

  1. 組態檢查:停用休眠與睡眠逾時,檢查核心除錯器是否連接,啟用驅動程式驗證器,並停用無線網路。

  2. 執行閒置任務:執行排程維護任務(如磁碟優化),以防止對追蹤收集造成影響。

  3. 收集電源配置:收集未進入選擇性暫停狀態的 USB 裝置,以及發出系統可用性請求的程序、裝置與驅動程式等資料。

  4. 收集閒置走線:在配置評估設定中指定的時間內收集走線。 預設數值是11分鐘。

  5. 流程結果:對閒置走線進行能量與功率分析。

目標檔案

你可以在結果檢視中建立自訂目標來衡量你的改進。 目標檔案是一種分流工具,可以幫助你了解個人電腦的表現狀況,來比較你企業中的各台電腦。

例如,基本筆電的目標可能與高階桌上型電腦的目標不同,或市場期望改變,你希望隨著時間推移與技術進步,靈活定義不同目標與關鍵需求。

當指標值與該指標的目標比較時,狀態會在結果檢視中以顏色標示如下:

  • 淺紫色代表系統擁有良好的使用者體驗,且沒有明顯的問題。

  • 中等紫色代表使用者體驗還算可以接受,且可以優化系統。 檢視建議與分析,看看系統可改進之處。 這些變更可能是軟體變更、設定變更或硬體變更。

  • 深紫色代表系統使用體驗不佳,且有很大改進空間。 檢視建議與分析,了解系統可改進之處。 這些變更可能是軟體變更、設定變更或硬體變更。 你可能需要考慮權衡,才能提供高品質的 Windows 體驗。

  • 沒有顏色代表指標沒有明確的目標。

注意
在 Windows 10 和 Windows 11 的 Windows 評量工具包中,有些評量包含預設目標檔案。 首次使用此版本工具查看結果時,會使用預設目標檔案。 不過,你也可以為 Windows 10 和 Windows 11 設定自訂目標。

你可以設定目標檔案的位置,並在該位置新增目標檔案,然後再用 UI 套用自訂目標。 一旦選擇目標檔案,該檔案將持續作為所有開啟結果的目標檔案。

一次只能使用一個目標檔案。 所有評量的目標都設定在一個目標檔案中。 評量工具將依照以下順序搜尋目標:

  1. 自訂目標檔案

  2. 結果檔中定義的目標

  3. 評估清單中定義的目標

你可以使用 %PROGRAMFILES%\Windows Kits\10\Assessment and Deployment Kit\Windows Assessment Toolkit\SDK\Samples\Goals 提供的範例目標檔案來建立自己的目標檔案。

注意
你不能將目標檔案與工作一起打包,但可以將其存放在共享資料夾中供他人使用。

Metrics

閒置能源效率指標來自兩個來源:電力配置設定資料與追蹤分析資料。 每個指標可分為以下三大類別之一:

  • CPU 指標。 與 CPU 使用相關的指標,如 C-State 駐留率、週期性 CPU 活動,以及系統閒置時啟動程序所使用的資源。

  • 磁碟指標。 與磁碟使用相關的指標,如讀寫與刷新次數,以及週期性的輸入輸出來源。

  • 功率配置和其他指標。 例如系統計時器解析度、不支援選擇性暫停的 USB 裝置數量,以及可用性請求次數等指標。

閒置工作負載會產生以下指標:

  • 系統計時器解析度
  • 改變系統計時器解析度的程序
  • 可用性請求數量
  • 電源政策設定錯誤與警告
  • USB 選擇性暫停問題
  • C 狀態駐留時間(活動和最低)
  • 程序利用率超過 CPU 的 1%
  • 週期性 CPU 來源少於 100ms,週期性 CPU 來源小於 300ms
  • 讀取 > 1 MB 的程序
  • 磁碟讀取次數
  • 讀取 > 50 次的程序
  • 從磁碟讀取的資料(KB)
  • 磁碟沖洗次數
  • 週期性磁碟來源少於10分鐘

系統計時器解析度

最適用於: 電池壽命優化

這是一個主要的指標,用來衡量驅動 Windows 核心排程器的計時器週期。 Windows 支援一系列的計時器週期。 為了延長電池壽命,系統應設定最低頻率。 系統計時器的預設解析度為 15.6 毫秒。

典型影響因素

此指標可能會受到呼叫 timeBeginPeriod 函式以請求系統增加平台計時器頻率的應用程式影響。 例如,有些應用程式要求提高計時器的頻率,以推動動畫或其他高精度多媒體任務。

當系統計時器週期從預設的15.6毫秒縮短到1毫秒時,電池耗電速度至少快了20%。

分析與整治步驟

此評估會檢查目前平台的計時器週期以及系統所支援的最大計時器週期。 目前的平台計時器週期是指連續平台計時器中斷之間的持續時間。 最大計時器週期是指硬體能支援的連續平台計時器中斷(最低中斷頻率)之間的最大持續時間。 最大計時器時間依硬體而異。 對大多數硬體平台而言,最大計時器週期約為 15.6 毫秒(ms)。

如果目前計時器週期小於最大定時器週期,平台計時器中斷會以較高頻率運行,進而降低能源效率。 在這種情況下,包含當前及最大定時器週期的警告會記錄在能源效率分析結果中。 報告中也包含任何請求更高定時頻率的程序資訊。 目前的計時器週期應該永遠小於或等於最大計時器時間。

當系統計時器解析度的預設值發生變動時,評估會針對每個導致變更的程序找出一個問題。 你可以從問題部分進入電源配置的能源報告檔案。 在該檔案中查看「平台計時器解決」區塊,搜尋造成問題的程序,並與該程序的擁有者合作。

為了最大化能源效率,軟體應僅在必要時提高平台計時器的頻率。 例如,多媒體應用程式會在開始高精度任務前立即增加平台計時器的頻率。 任務完成後,它會立即將平台計時器頻率恢復到先前較低的頻率。

其他資訊

改變系統計時器解析度的程序

此指標計算請求系統計時器頻率變更的程序數量。 此指標與系統計時器解析度指標相關。

典型影響因素

此指標可能會受到應用程式影響,若應用程式呼叫 timeBeginPeriod 函式請求系統提升平台計時器的解析度。 例如,有些應用程式要求提高計時器的解析度,以驅動動畫或其他高精度多媒體任務。

欲了解更多分析與修復資訊,請參閱 系統計時器解析度

其他資訊

可用性請求數量

可用性請求會強制 Windows 保持清醒狀態,並阻止作業系統進入最低的 C 狀態。 可用性請求指標計算在閒置期間提出任何類型可用性請求的程序數量。

閒置時的任何可用性請求都可能大幅降低能源效率。

典型影響因素

評估會檢查系統並記錄任何提出系統可用性請求的應用程式、服務或裝置驅動程式,例如阻止系統自動關閉顯示器、阻止系統休眠或進入離家模式的請求。

分析與整治步驟

可用時間申請有三種類型。 這些要求都可能顯著影響能源效率。 請考慮下列事項:

  • 顯示可用性請求。 防止顯示器關機。 若應用程式要求顯示保持開啟,例如在全螢幕影片播放時,應盡可能延遲可用性請求,並在觀看完成後釋放。 請注意,顯示器可能消耗約43%的總功耗。

  • 系統可用性請求。 防止系統自動進入睡眠狀態。 例如,應用程式請求系統保持開機,以進行網路下載檔案。

  • 外出模式可用性申請。 啟用離家模式。 例如,應用程式請求系統啟用離家模式,以允許在預定時間錄製電視節目。

應用程式與服務透過呼叫 SetThreadExecutionState OR PowerCreateRequest 函式來請求系統可用性。

為了最大化能源效率,應用程式與服務應僅在其處理需要系統可用性的任務期間請求系統可用性。

其他資訊

電源政策設定錯誤與警告

透過 Windows 電源設定工具的電源政策設定(Power Policy Configuration)收集兩個指標,以識別錯誤與警告。 這些指標能識別能源效率問題,例如不支援低功耗模式的裝置或匯流排。

當電力政策設定值超出省電行為範圍時,通常會記錄警告。 例如,當系統插上電源時,如果顯示閒置逾時超過15分鐘,就會記錄警告。

當省電功能被關閉時,錯誤通常會被記錄下來。 例如,如果顯示閒置逾時設為 0(停用),就會記錄錯誤。

對於行動型電腦,會檢查每種電源政策設定的 「插電」「開機」電池 數值。 若兩項皆偵測到能源效率問題,報告中將分別記錄不同項目,一個針對插電值,一個針對使用電池值。 桌上型電腦則只檢查 連接電源 值。

典型影響因素

電源配置警告會突顯未設定為低功耗模式的電源設定。 這些都會出現在評量結果中。 每一個電力政策警告都會產生一個問題。

分析與整治步驟

點擊進一步分析連結以查看電力配置能源報告。 在報告中,查看 主動電力計畫 區塊,搜尋問題顯示的裝置名稱,以找出裝置驅動程式及影響效率的根本原因。

電源政策問題可以透過在電源選項控制面板或設定應用程式中更改目前的電源政策設定,或在升高的指令視窗中使用 PowerCfg 來解決。 請注意,最終使用者無法更改任何透過群組政策強制執行的電源政策設定。

USB 選擇性暫停問題

此指標計算未能進入選擇性暫停狀態的 USB 裝置數量。

評估會檢查系統中所有 USB 裝置,並識別那些未進入選擇性暫停或很少進入暫停狀態的裝置。 若裝置未進入選擇性暫停,則會記錄錯誤。 若裝置很少進入暫停狀態,則會記錄警告。 對於每一個被記錄為錯誤或警告的裝置,結果中會包含裝置名稱、主機控制器 ID、位置、裝置 ID 及埠路徑。

當 USB 裝置在閒置時未能進入選擇性暫停狀態,會低效率地消耗電力,並可能阻止 USB 裝置主機、USB 集線器及 USB 根集線器進入 USB 選擇性暫停狀態,導致電池加速耗盡。

典型影響因素

USB 選擇性暫停功能讓支援選擇性暫停的 USB 裝置驅動程式,在該裝置閒置時關閉其控制的 USB 裝置。 當裝置不再閒置時,系統會啟動該裝置並恢復正常運作。 當系統閒置且所有 USB 裝置暫停時,處理器活動不必要,因此處理器可能會進入低功耗狀態。 如果系統中任何 USB 裝置無法進入暫停狀態,處理器即使在系統閒置時也無法進入低功耗狀態。 這類系統的電池續航力可能會縮短多達25%。

分析與整治步驟

點擊進一步分析連結以查看電力配置能源報告。 在報告中搜尋 選擇性暫停 區塊時,搜尋與該問題相關的裝置。 請注意,對於每一個被記錄為錯誤或警告的裝置,報告中都會包含裝置名稱、主機控制器 ID、位置、裝置 ID 及埠路徑。 一旦確認驅動程式,請確保已安裝最新的驅動程式。

考慮確認 USB 裝置及其驅動程式是否支援選擇性暫停。 為了最大化能源效率,建議透過網頁或 Windows Update 更新驅動程式,以支援選擇性暫停功能。

C 狀態駐留時間(活動和最低)

C 狀態,也稱為 CPU 閒置狀態,是指 CPU 減少或關閉特定功能的狀態。 不同處理器支援不同數量的 C 狀態,在這些狀態中 CPU 的不同部分會被關閉。 一般而言,較高的 C 狀態會關閉更多 CPU 元件,從而大幅降低功耗。

處理器電源政策由 Windows 核心電源管理器擁有並管理。 電源管理器負責選擇正確的處理器狀態,稱為「目標」狀態。 此目標狀態基於 CPU 使用率及其他因素,取決於所涉及的處理器電源管理技術。 「實際」狀態反映了某一時間點 CPU 的實際 C 狀態。

注意
CPU 製造商可能選擇不公開處理器所支援的所有 C 狀態。 在這些未暴露狀態停留的時間,可能比標示的更深的C狀態。 然而,若這些資訊未提供給 Windows,則無法顯示未暴露的 CPU 狀態資訊。

在活躍的C狀態所花費的時間,衡量處理器在閒置(C0)期間,處於最活躍C狀態的時間百分比。 閒置時此指標值越低,功耗越少。 若活躍C態(%)大於1%,則產生問題。

在最低C州所停留的時間,衡量閒置期間在C州最不活躍的州所佔的時間百分比。 此指標在閒置時的值越高,耗電越少。 當最低C態(%)小於99%時,會產生問題。

典型影響因素

在閒置期間,高主動C狀態駐留率會導致電力消耗效率低下。 當活躍C狀態駐留時間指標大於1%時,任務結果中會出現問題。

處理器在主動C狀態停留的時間越長,耗電越多。 處理器在最低C狀態停留的時間越長,耗電越少。 全主動處理器可耗電至 35 瓦,而完全閒置處理器則僅需 100-300 mW。

處理器越頻繁切換 C 狀態,耗電越多,電池壽命也越短。

分析與整治步驟

點擊WPA進一步分析連結以開啟追蹤圖以進行深入分析。 查看 CPU 閒置狀態圖。 精確地查看 CPU 使用率(精確)——按進程利用率 圖,以了解是哪個進程導致 CPU 喚醒並進入活動 C 狀態。

其他資訊

程序利用率超過 CPU 的 1%

此指標計算 CPU 使用率超過 1% 的程序數量。 此指標追蹤每個在閒置時使用超過1% CPU的程序。

典型影響因素

這個指標的目標是 0。 閒置時使用 CPU 可能會頻繁喚醒 CPU。 因此,CPU 會在 C 狀態間切換,降低系統整體能源效率。

分析與整治步驟

點擊WPA進一步分析連結以開啟追蹤圖以進行深入分析。 查看 CPU 閒置狀態圖,並查看 CPU 使用率(精確)——按進程利用率 圖,以了解是哪個進程導致 CPU 喚醒並進入活動 C 狀態。

每個在閒置時使用超過 1% CPU 時間的程序都會產生問題。

其他資訊

週期性 CPU 來源少於 100ms,週期性 CPU 來源小於 300ms

PeriodicCPUSourcesLessThan100ms 指標計算的是喚醒CPU次數多於每100毫秒一次或介於101至300毫秒之間的程序或模組數量,導致C狀態之間的不斷波動。 這種指標與波動對能源效率造成了最重要的影響之一。

如果每次 300 毫秒的呼叫運算工作量顯著大於 100 毫秒的呼叫,則週期性 CPU 來源少於 300 毫秒時,可能會比少於 100 毫秒的週期性 CPU 來源更降低能源效率。

典型影響因素

驅動程式、計時器或裝置中斷會經常喚醒 CPU。 頻繁的 CPU 活動會降低能源效率並縮短電池續航力。

為了最大化能源效率,建議取消所有每100毫秒或更少頻率重複的週期性活動。

分析與整治步驟

對於每隔 100 毫秒或更短時間內重複的週期性 CPU 活動,問題區塊中都會有相應的驅動程式/計時器中斷問題。

點擊WPA進一步分析連結以開啟追蹤圖以進行深入分析。 查看 DPC CPU 使用率(依模組、功能持續時間)圖表。

最大化能源效率的建議:

  • 考慮採用更有效率的設計,取代高頻週期性的 CPU 活動,如輪詢、旋轉和無限迴圈。

  • 透過搜尋您的程式碼中對 SetWaitableTimer()SetWaitableTimerEx()KeSetTimerEx()KeSetCoalescableTimer()CreateTimerQueueTimer()CreateThreadpoolTimer()Sleep() 的呼叫,找出提升效率的機會。 閒置迴路以這種中斷驅動的行為聞名,也是提升效率的好地方。

  • 考慮透過 SetEvent()WaitForSingleObject()MsgWaitForMultipleObjectsEx(),使用較大逾時參數轉換成訊號觸發或事件驅動架構。

  • 在閒置時測量 CPU 活動的週期性。

  • 在「螢幕開啟」和「螢幕關閉」的情境中測試。

其他資訊

讀取 > 1 MB 的程序

此指標計算閒置期間從磁碟讀取超過 1 MB 的程序數量。

典型影響因素

空閒時過多的磁碟活動會使磁碟無法斷電,進而降低能源效率。

分析與整治步驟

點擊WPA進一步分析連結以開啟追蹤圖以進行深入分析。 檢視磁碟使用量 — 依 OP 類型和程序分類的活動,接著選擇表格和圖表檢視。

最佳實務包括以下幾點:

  • 在螢幕關閉且使用者不在場時,消除磁碟讀取、清除及寫入。 當儲存裝置進入低功耗狀態時,能源效率會提升。 儲存裝置只有在缺乏這類 I/O 操作的情況下,才能進入低功耗狀態。

  • 使用揮發性登錄檔金鑰來讀寫不需要持久化到磁碟的暫態資料。

  • 測試你的應用程式是否有週期性磁碟活動。 務必測試你的程式碼在螢幕開啟、螢幕關閉,以及使用者不在螢幕上——螢幕關閉的情況。

其他資訊

磁碟讀取次數

此指標計算所有程序發出的磁碟讀取次數。 此指標的目標是 200 次讀取。 磁碟讀取次數越少,儲存 I/O 活動越少,能源效率也越高。

典型影響因素

由程序或裝置驅動程式引起的磁碟讀取會增加儲存活動並消耗更多電力。 每個磁碟讀取總數超過 200 的程序,結果中都會出現問題。

分析與整治步驟

點擊WPA進一步分析連結以開啟追蹤圖以進行深入分析。 打開磁碟使用情況 - 按OP類型和處理順序的活動,然後選擇表格及圖表檢視模式。 欲了解更多最佳實務資訊,請參閱 「流程閱讀 > 1 MB」。

讀取 > 50 次的程序

閒置追蹤不應包含讀取次數超過 50 的進程。 在閒置時從儲存裝置讀取超過 50 次,系統就會一直處於啟動狀態。 目標是讓「Zero 或 0」的程序讀取超過 50 次。

典型影響因素

由程序、裝置或驅動程式引起的磁碟讀取會導致儲存活動,消耗能量。

一個程序每 10 分鐘的追蹤讀取不應超過 50 次,且每當磁碟讀取總數超過 50 次限制時,都會產生問題。

分析與整治步驟

點擊WPA進一步分析連結以開啟追蹤圖以進行深入分析。 打開磁碟使用量 – 依 OP 類型、程序進行的活動,然後選擇表格和圖表檢視。

欲了解更多最佳實務資訊,請參閱 「流程閱讀 > 1 MB」。

從磁碟讀取的資料(KB)

磁碟讀取資料是一種主要計數器指標,會輸出所有磁碟讀取的總大小(以千位元組),涵蓋追蹤時間減去前30秒與最後30秒。

典型影響因素

一個程序在閒置期間不應讀取超過 1 MB 的磁碟。 該指標反映所有程序的總磁碟讀取大小,以及每個程序超過1 MB磁碟讀取大小的問題。

分析與整治步驟

點擊WPA進一步分析連結以開啟追蹤圖以進行深入分析。 打開磁碟使用量 – 依 OP 類型、程序進行的活動,然後選擇表格和圖表檢視。

欲了解更多最佳實務資訊,請參閱 「流程閱讀 > 1 MB」。

磁碟沖洗次數

此指標衡量硬碟沖洗次數。 此指標的目標是整條路徑的順位不超過 200 次,扣除前 30 秒與最後 30 秒。

典型影響因素

盤沖會引發儲存活動,消耗能量。 在閒置時不應該有硬碟清空。 結果顯示有計數指標,且盤面沖洗總數存在問題。

分析與整治步驟

點擊WPA進一步分析連結以開啟追蹤圖以進行深入分析。 打開磁碟使用量 – 依 OP 類型、程序進行的活動,然後選擇表格和圖表檢視。

最佳實務包括以下幾點:

  • 除非使用者需要、特別啟用或要求,否則移除或關閉登入磁碟功能,尤其是在螢幕關閉時。 如有需要,可考慮登入圓形記憶體緩衝區或使用揮發性登錄檔金鑰。

  • 避免撥打 FlushFileBuffers()

  • 避免將 FILE_FLAG_WRITE_THROUGH 指定為對 CreateFile() 呼叫的參數。

  • 消除磁碟沖洗,並在螢幕關閉且使用者不在時透過 I/O 寫入。 儲存裝置在此期間可能進入低功耗狀態,任何類型的 I/O 都會使其啟動。

  • 對於不需要持久化到磁碟的暫時資料,使用揮發性登錄檔金鑰。

  • 測試你的應用程式是否有週期性磁碟活動。 務必測試你的程式碼在螢幕開啟、螢幕關閉,以及使用者不在螢幕上——螢幕關閉的情況。

其他資訊

週期性磁碟來源少於10分鐘

沒有任何程序或執行緒應該頻繁地寫入磁碟,以至於啟動磁碟(每小於<10分鐘一次),從而導致後續的寫入至 NTFS 日誌和主檔案表(MFT)。 這排除了寫入主文件表(MFT)和$logfile的操作。

典型影響因素

避免週期性磁碟活動,例如日誌、時間戳記、看門狗式行為,並盡量減少明確同步(如寫直與清空)。 這使得磁碟整合能降低儲存子系統的功耗。

閒置時間內不應該有週期性磁碟輸入輸出。 如果有,應該要比10分鐘的間隔還長。 結果顯示任何在 10 分鐘內對磁碟發出多個 I/O 的程序。

分析與整治步驟

  • 除非使用者需要、特別啟用或要求,否則應移除或關閉記錄到磁碟功能,尤其是在螢幕關閉時。 如有需要,可考慮登入圓形記憶體緩衝區或使用揮發性登錄檔金鑰。

  • 避免撥打 FlushFileBuffers()

  • 避免將FILE_FLAG_WRITE_THROUGH指定為CreateFile()呼叫的參數。

  • 當螢幕關閉且使用者不在場時,消除磁碟讀取、沖洗及 I/O 寫入。 儲存裝置在此期間可能進入低功耗狀態,任何類型的 I/O 都會使其啟動。

  • 對於不需要持久化到磁碟的暫時資料,使用揮發性登錄檔金鑰。

  • 測試你的應用程式是否有週期性磁碟活動。 務必測試你的程式碼在螢幕開啟、螢幕關閉,以及使用者不在螢幕上——螢幕關閉的情況。

其他資訊

問題

下表描述了一些因低效率 API 與框架而導致的已知問題。

API Problem 建議的替代方案
SetTimer() 計時器無法整合。 SetCoalescableTimer();請遵循 TolerableDelay 參數指引。
WaitForSingleObjectWaitForMultipleObjects, Ex 變體(指定逾時時) 若指定較短的超時,這些 API 可以如同一個非合併的計時器般運作。 沒有可合併版本。 將超時參數設置得越長越好。
SetWaitableTimer() 計時器無法整合。 SetWaitableTimerEx(),設定 TolerableDelay 參數
KeSetTimerEx() 計時器無法整合。 KeSetCoalescableTimer(),設定 TolerableDelay 參數
CreateTimerQueueTimer() 計時器無法整合。 轉換成 SetWaitableTimerEx() 或使用 CreateThreadpoolTimer() 並設定 msWindowLength 參數
Sleep() 計時器無法整合。 避免根據睡眠寫閒置循環。 轉換成事件驅動實作。
包含 CreateFile()FILE_FLAG_WRITE_THROUGH 透過寫直寫強制磁碟旋轉。 沒有替代方案——移除旗標並盡可能避免明確同步
FlushFileBuffers() 透過沖洗強制盤旋轉。 沒有其他選擇——盡量避免明確同步
CreateFileTransacted() 通常很貴,會強制檔案透過清空方式放到磁碟。 沒有其他選擇——完全避免明確同步。
TimeBeginPeriod() 改變系統計時器解析度。 沒有其他選擇——盡量避免更改系統時脈解析度

FAQ

如果您遇到電池壽命或能源效率問題,並想分析根本原因,我們建議先從 閒置能源效率評估開始。 此評估提供系統未積極處理使用者任務時的電力消耗基準。

為什麼要先從閒置評估開始?

其他評估如網頁瀏覽、Teams 和 YouTube 評估只收集少量數據,以提供針對特定情境的準確電池壽命數據。 在這些評估中收集詳細的痕跡會增加額外的 CPU 使用量和磁碟輸入輸出,進而影響評估結果的電池續航。

閒置評估是功耗分析的良好起點,因為它:

  • 設定系統的功率消耗下限
  • 協助識別背景流程、驅動程式或不必要耗電的服務
  • 讓你能在不干擾工作負載的情況下,隔離並診斷能源效率問題

在重現電源問題時,我該如何收集短期間追蹤?

如果您需要在重現特定電力問題時擷取短記錄,請參閱在評量及評估背景執行時的 CPU 使用情況中的指引。 此資源提供收集目標痕跡的指引,有助於特定情境下的耗電問題診斷。

閒置能源效能檢核清單

請使用以下清單快速確認您的 Windows 裝置是否符合節能標準。 這些閾值適用於10分鐘的閒置追蹤週期(不含前30秒和最後30秒)。

CPU 標準

計量 標的 通過條件
系統計時器解析度 15.6毫秒 計時器週期等於最大支援期間(沒有程序要求更高頻率)
程式更改計時器解析度 0 沒有程序呼叫 timeBeginPeriod() 來增加計時頻率
現役C-State(C0)住院醫師訓練 ≤ 1% CPU 在主動狀態下最多停留 1%
最低的C州居住地 ≥ 99% CPU 至少有 99% 時間處於最深的閒置狀態
CPU 使用率為 > 1% 的程序 0 任何程序在閒置時都不會消耗超過1% CPU。
週期性 CPU 活動(≤ 100 毫秒間隔) 0 沒有任何程序或模組每 100 毫秒喚醒 CPU 一次
週期性 CPU 活動(間隔 101-300 毫秒) 0 沒有任何程序或模組每 101 到 300 毫秒喚醒 CPU

磁碟標準

計量 標的 通過條件
總磁碟讀取次數 ≤ 200 閒置期間磁碟讀取操作不得超過 200 次
進程讀取 > 1 MB 0 沒有任何程序能從磁碟讀取超過 1 MB 的資料
具有 > 50 次讀取操作的程序 0 沒有任何程序每 10 分鐘執行超過 50 次磁碟讀取操作
總磁碟沖洗次數 ≤ 200 閒置時磁碟沖洗操作不得超過 200 次
週期性盤活動間隔 > 10分鐘 沒有任何程序寫入磁碟的頻率超過每 10 分鐘一次

電源配置標準

計量 標的 通過條件
可用性申請 0 閒置期間,任何程序、服務或驅動程式都不會提出可用性請求
電源政策錯誤 0 不會關閉任何省電功能
電力政策警告 0 所有電源設定都在建議範圍內(例如螢幕關閉時間 ≤ 15 分鐘)

USB 標準

計量 標的 通過條件
USB 選擇性暫停 所有裝置 所有 USB 裝置都能成功進入選擇性暫停狀態

評定

創建並執行能源效率專案

連網待機能源效率

連網備用能源效率評估結果

Windows 評估工具包技術參考