如果沒有頁面文件,Windows 10 是否會使用記憶體壓縮?

如果沒有頁面文件,Windows 10 是否會使用記憶體壓縮?

我正在研究 Windows 10 記憶體壓縮的使用,以確定「交換」記憶體的最佳方法。

一方面,我可以將一切留給 Windows,依靠頁面檔案和壓縮內存,但這意味著我無法控制確切換出的內容和時間。

另一方面,我可以在沒有頁面檔案的情況下運行系統,並透過更快地持久保存對資料庫的臨時變更來減少記憶體使用量。然後我可以更好地控制哪些內容需要保留,哪些內容需要從記憶體中刪除。

在後一種情況下,我仍然可以從記憶體壓縮中受益,前提是即使沒有頁面檔案也使用記憶體壓縮。如果是這種情況,那麼記憶體壓縮將允許我的進程使用比物理可用記憶體更多的記憶體(當然在短時間內)。

那麼問題來了:如果系統沒有頁面文件,Windows 10是否會使用記憶體壓縮?

答案1

需要啟用頁面檔案才能啟用記憶體壓縮。我剛剛在 Windows 10 版本 1809 上驗證了它。

我通常在關閉頁面文件的情況下運行該系統,儘管在MMAgent 中啟用了內存壓縮,但檢查SysMain 服務是否正在運行,並且在註冊表中啟用了所有預取和Readyboost 設置,任務管理器總是顯示「未啟用記憶體壓縮」並且我從未在任務管理器的記憶體標籤中看到「(壓縮)」記憶體統計資料超過 0 MB。

設定 16 MB(允許的最小大小)的分頁檔案後,「工作管理員」標籤中的工具提示現在會顯示預期的「壓縮記憶體儲存估計...的資料...」訊息。

我尚未驗證的是分頁檔案的大小如何影響最大允許的壓縮記憶體量。

另一條相關註釋:可以使用 regedit 停用 Prefetch 和 ReadyBoost。它們不影響記憶體壓縮的操作。然而,“SysMain”服務(在舊版 Windows 版本中被稱為“readyboost”,令人困惑)必須必須啟用,否則記憶體壓縮將不會啟用。

相關內容