共用方式為


提供絕佳的記憶體不足體驗

可用的記憶體數量對整體使用者體驗有重大影響,範圍從系統的整體回應性、在 Microsoft Store 樣式應用程式之間切換時的回應性,以及電池使用時間。 在評估記憶體不足的整體體驗時,這些都是要考慮的重要因素。 (低記憶體是 32 位 Windows 上的 1 GB RAM,而 64 位 Windows 上的 RAM 為 2 GB )

考量

以低記憶體裝置為目標時,OEM、IHV 和 ISV 需要考慮幾件事。

驅動程式和應用程式

整體基準記憶體使用量

典型的基準 32 位零售 Windows 映像會耗用大約 400 MB 的使用中記憶體開機後 (,如使用 ADK) 中的記憶體使用量評量來測量。 允許 10% 的會議室或 100 MB 在 1 GB 上,這讓 2-3 個應用程式有足夠的記憶體可以位於實體記憶體中,以便在應用程式之間快速切換。 基底作業系統記憶體使用量愈大,使用者和應用程式的可用記憶體就越少。

影響基準 OS 記憶體使用量的主要因素是驅動程式和預先載入的軟體,包括反惡意程式碼應用程式、裝置桌面應用程式和軟體更新器。

  • 驅動程式使用量: 這包括驅動程式程式碼和相關聯的配置。 由於大部分驅動程式隨時都存在於記憶體中,因此不可分頁的記憶體 (或必須位於實體記憶體中且無法分頁的內容,因此) 非常重要,因為它在系統存留期間構成記憶體使用率的固定成本。 目前的硬體認證需求涵蓋不可分頁的配置:MDL/連續記憶體配置、非分頁驅動程式程式碼,以及個別驅動程式的非分頁集區。 如需詳細資訊,請參閱 Device.DevFund.Memory.DriverFootprint

  • 硬體記憶體保留: 這包括記憶體「切出」,可減少 Windows 可用的 OS 可見記憶體數量,而且在記憶體不足裝置的內容中非常重要。 目前的硬體認證需求提供不同 RAM 設定的預算: System.Fundamentals.Firmware.HardwareMemoryReservation

  • 預先載入的軟體和反惡意程式碼應用程式: 其中包括在開機期間啟動的服務/其他進程,並在會話的存留期間保持作用中。 在啟動時引進程式的一組預先載入軟體,必須仔細考慮和預算。

從 OS 的觀點來看,已改善數項功能,以減少 Windows 上的執行時間記憶體使用量,讓使用者及其應用程式有更多可用記憶體。 請務必確保 OEM、IHV、ISV 和 Microsoft 合作夥伴可改善每個領域的使用量,並仔細考慮裝置以提供絕佳的客戶體驗。

儲存體

磁碟效能

在低記憶體設定中,Windows 依賴從記憶體分頁和交換內容,因此基礎磁片的效能對於提供順暢且回應式的使用者體驗非常重要。 硬體認證需求提供連線待命裝置上儲存體的關鍵效能計量指引。 如需詳細資訊,請參閱 Device.Storage Requirements

Windows 有機制可減少暫停 Microsoft Store 應用程式的記憶體使用量,並透過有效率的循序磁片 IO 繼續。 例如,假設有 120 MB 的應用程式需要在繼續時從磁片讀取;傳遞循序讀取效能為 60 MB/秒的磁片需要 2 秒的時間,讓該應用程式從磁片中讀取回,而傳遞 120 MB/秒的磁片只需要 1 秒,才能將其內容帶入記憶體中。 eMMC 和 SSD 儲存體提供大約 120-150 MB/秒的循序讀取速率,而一般旋轉磁片的速度大約為 50 MB/秒。 Windows 中的執行時間原則會根據儲存體效能和較慢的磁片 (進行取捨,例如 HDD 和 HHDD) ,這會導致應用程式切換/多工體驗可能變慢,並增加應用程式終止。

磁片耐力

SSD 和 eMMC 磁片等非旋轉儲存體的永久性或存留期,會與寫入裝置的資料總量成正比,以及數個其他因素,例如工作負載和寫入的對齊方式。 在 1 GB 裝置上,在選取元件時,儲存體會有較大的寫入量,這是選取元件時的重要考慮。

因製造商 (區塊大小選取、快閃記憶體類型等而有所不同;) ;目前沒有標準化的方式來測量耐力。 建議合作夥伴在做出裝置選擇決策之前,先評估磁片耐力。

重要

下表提供執行 32 位 Windows 的系統目標。 儲存體效能指引適用于開機儲存媒體,並使用小於 2% 或 1 GB 的可用磁碟空間進行測試。

類別 計量 目標
基準記憶體使用量 系統層級

   驅動程式非分頁碼

< 20 MB

   驅動程式非分頁配置

< 30 MB

   硬體記憶體保留

< 130 MB

   啟動應用程式、服務、工作的作用中私人頁面總計

< 40 MB
每個驅動程式 (非分頁配置)
   驅動程式鎖定/連續記憶體配置 所有驅動程式類型的 12 MB
   非分頁配置

<= 6 MB 表示 GPU 驅動程式

<= 其他驅動程式的 4 MB

   非分頁驅動程式程式碼 <= 10 MB 表示 GPU 驅動程式, < = 1.66 MB 表示其他驅動程式
啟動應用程式記憶體使用量 啟動應用程式、服務和工作 (,包括反惡意程式碼) < 40 MB
磁碟效能 隨機效能

   4 KB 寫入 IOPS,測量超過 1 GB 區域

>= 200 個 IOPS

   4 KB 寫入 IOPS,測量超過 10 GB 區域

>= 50 個 IOPS

   64 KB 寫入 IOPS,測量超過 1 GB 區域

>= 25 個 IOPS

   4 KB 讀取 IOPS,測量超過 10 GB 區域

>= 2000 個 IOPS

   4 KB 2:1 讀取/寫入混合 IOPS,測量超過 1 GB 區域

>= 500 個 IOPS

   4 KB 2:1 讀取/寫入混合 IOPS,測量超過 10 GB 的區域

>= 140 個 IOPS
循序效能

   寫入速度 (64 KB I/O) ,測量超過 10 GB 區域

>= 40 MB/秒

   寫入速度 (1 MB I/O) ,測量超過 10 GB 區域

>= 40 MB/秒

   讀取速度 (64 KB I/O) ,測量超過 10 GB 的區域

>= 60 MB/秒 (120 MB/秒)
裝置 I/O 延遲

   最大延遲

< 500 毫秒
磁片耐力 存留期 >= 2-3 年

使用 Windows 評定與部署套件 (ADK) 測量記憶體

相較于零售 OS 映射,ADK 中的記憶體使用量評估會針對不同的組態提供基準記憶體使用量的量化評估。

指引

針對 OEM

OEM 對選擇硬體/驅動程式和預先載入的軟體有顯著的影響,這會直接影響系統的記憶體使用量:

  • 部署之前,請先瞭解並量化您在全新映射上安裝的驅動程式和軟體影響,並確定它們位於先前所述的建議目標內:

    • 減少驅動程式數目,或選取記憶體需求較低的硬體/驅動程式,以減少驅動程式使用量。

    • 減少預先載入的軟體和防毒軟體所引進的預設「一律」啟動程式數目 () ,並視需要提供指引給取用者啟用特定應用程式或功能。

  • 請考慮使用不同的驅動程式或軟體廠商,以提供對系統記憶體的影響較低的對等功能。

  • 如需最新版的軟體,請參閱您的驅動程式和軟體廠商。 此外,請針對高於建議記憶體使用量的特定驅動程式或軟體,提供意見反應給合作夥伴,並提供評定工具組中的追蹤和記錄。

針對 IHV/ISV

可提供記憶體有效率的驅動程式的 IHV 可讓 OEM 建置 1 GB 的系統,為取用者提供絕佳的體驗:

  • 請確定硬體元件符合 (先前所述的認證需求,特別是驅動程式的可分頁使用量、儲存體硬體的效能,以及應用程式執行一律應用程式的記憶體使用量) 。

  • 僅視需要啟用功能,以使用「付費」模型的記憶體使用量有效率:

    • 例如,請避免將驅動程式設定為支援 1 GB 系統所需的功能 (,例如,建立平臺特定的驅動程式套件來偵測硬體,並載入其專屬的程式碼) 。

    • 例如,除非使用者) 明確設定,否則不需要支援 RAID 儲存體的緩衝區,以視需要配置所需的最小記憶體並立即 (釋放,以將執行時間成本降至最低。

  • 利用工具來瞭解和改善記憶體使用量。 下列討論說明減少使用量的方法以及可用的工具: 減少驅動程式和應用程式的記憶體使用量

針對反惡意程式碼應用程式 ISV

反惡意程式碼應用程式在未針對效能優化時,可能會大幅影響作業系統記憶體使用量和使用者體驗的基準:

  • 請確定「一律執行」服務和處理常式的數目和使用量盡可能最少。 例如:

    • 在理想情況下,請只執行一個進程/服務進行即時掃描。

    • 更新防毒軟體定義的其他程式,例如向使用者顯示 UI,只有在回應使用者輸入或通知時需要建立,而且應該在作業完成之後結束。

  • 對「一律執行」進程使用記憶體有效率:

    • 維護資料結構以代表簽章,並只視需要載入特定部分。

    • 除非使用者明確要求使用者 (,否則不應該啟動 UI,例如,在開機後立即開啟的快顯視窗) 。

  • Windows 提供一組核心的 Windows API 和相關聯的檔,以優化效能:

    • 透過使用壓縮優化簽章載入和維護: Xpress 壓縮

    • 維護先前掃描檔案的快取,以將工作降到最低。

    • 使用低 CPU/磁片和記憶體優先順序,將影響降至最低。 例如:

  • 將焦點放在閒置記憶體使用量,以確保閒置時的記憶體使用量,以及在完整系統掃描期間,以及即時掃描為 < 15 MB。 這麼做會在這些案例期間盡可能減少記憶體使用量。

驗證

若要評估及驗證進程和驅動程式的記憶體使用量,請使用 ADK 中的記憶體使用量評估。 執行評定之後,請在 Windows 評定主控台中開啟報表, (WAC) 工具,並使用下列指引擷取相關的計量。

系統層級

您可以在評估報告中找到全系統記憶體計量。 下列螢幕擷取畫面醒 目提示 [總In-Use記憶體]、 [驅動程式非分頁程式碼 ] 和 [配置] 計量。

Windows 評定主控台中顯示的記憶體使用量

每個驅動程式

非分頁程式碼

若要取得個別驅動程式的特定非分頁程式碼貢獻,請展開 [驅動程式非分頁程式碼] 計量。

Windows 評定主控台中顯示的非分頁程式碼中的驅動程式記憶體使用量, (WAC)

非分頁配置

若要取得個別驅動程式的特定非分頁配置,請展開 [ 驅動程式非分頁配置 ] 計量,然後選取 [ 分組依據 - > (None)

Windows 評定主控台中顯示的驅動程式非分頁配置, (WAC)

每個流程

若要取得系統上 (應用程式、服務或工作) 的個別進程作用中私人頁面數量,請展開 [處理私人頁面 ] 計量,然後選取 [ 作用 中] 子計量。

在下列螢幕擷取畫面中,Microsoft Defender (MsMpEng.exe 進程) 透過其私人工作集取用 14.9 MB 的記憶體。

若要驗證已達到啟動應用程式、服務和工作的 40 MB 目標,請識別與此清單中與預先載入的軟體相關聯的每個程式,並計算總和。

Windows 評定主控台中顯示的作用中私用頁面, (WAC)