共用方式為


快取與記憶體管理員的改良功能

本主題描述 Windows Server 2012 和 2016 中的快取管理員和記憶體管理員的改良功能。

Windows Server 2022 中的快取管理員改良功能

快取管理員現在是 NUMA 感知,這可確保系統能更好地避免跨 NUMA 界限的資料移動。 避免從一個 NUMA 節點存取另一個 NUMA 節點上的記憶體和其他核心資源,會增加許多額外負荷。 透過讓快取管理員感知 NUMA,我們已消除這類跨 NUMA 的躍點,進而優化在多節點設定上執行的快取 IO 工作負載。

Windows Server 2019 中的快取管理員改良功能

我們新增了持續性記憶體 (PMEM) 儲存體的零複製支援。 如需持續性記憶體的詳細資訊,請參閱了解和部署持續性記憶體。 在直接存取 (DAX) 模式中,PMEM 像記憶體一樣運作以取得最低延遲,在此我們消除了額外的資料複本,並略過檔案系統迷你篩選器和儲存體堆疊的許多額外負荷。 此模式只適用於 NTFS 作為檔案系統。

Windows Server 2016 中的快取管理員改良功能

快取管理員也新增了對真實非同步快取讀取的支援。 如果應用程式嚴重依賴非同步快取讀取,這可能會提升應用程式的效能。  雖然大部分的內建檔案系統都已支援非同步快取讀取一段時間,但由於處理執行緒集區和檔案系統內部工作佇列的各種設計選擇,通常會有效能限制。  透過適當的核心支援,快取管理員現在會隱藏檔案系統的所有執行緒集區和工作佇列管理複雜度,使其在處理非同步快取讀取時更有效率。 快取管理員針對每個 (系統支援的上限) VHD 巢狀層級設定了一組控制資料結構,以最大化實現平行處理原則。

Windows Server 2012 中的快取管理員改良功能

除了快取管理員對讀取循序工作負載之預先邏輯的增強功能之外,還新增了一個 CcSetReadAheadGranularityEx 的新 API,讓檔案系統驅動程式 (例如 SMB) 變更其讀取預先參數。 它可在遠端檔案情境下提升輸送量,方法是預先傳送多個小型讀取要求,而不是預先傳送單一大型讀取要求。 只有核心元件 (例如檔案系統驅動程式) 可以程式設計的方式設定每個檔案的值。

Windows Server 2012 中記憶體管理員的改良功能

啟用頁面合併可能會減少伺服器上的記憶體使用量,這些伺服器上有許多私人、可分頁的頁面具有相同內容。 例如,執行相同記憶體密集應用程式的多個執行個體伺服器,或搭配高度重復資料運作的單一應用程式,可能是嘗試頁面合併的良好候選項目。 啟用頁面合併的缺點是增加 CPU 使用量。

以下是一些伺服器角色範例,其中頁面合併不太可能帶來太多好處:

  • 檔案伺服器 (大部分的記憶體都是由非私人的檔案頁面所耗用,因此無法合併)

  • 設定為使用 AWE 或大型頁面的 Microsoft SQL Server (大部分記憶體是私人的但無法分頁)

預設會停用頁面合併,但可以使用 Enable-MMAgent Windows PowerShell Cmdlet 來啟用。 Windows Server 2012 中新增了頁面合併。