Windows Server 2016 頁面文件不增加
如果這不足以理解我的問題,我提前道歉,它有點長,但我已盡力使其易於理解。
我在 Windows server 2016 VM 上執行 Exchange 2016 CU6,並且我經常在應用程序日誌中收到警告說我的虛擬記憶體(頁面文件)不足。
我的監控顯示頁面文件自 4 月份創建 VM 以來一直為 4GB,它從未超過 4GB,也沒有減少。
為了解決這個問題並了解問題所在,我創建了兩個測試虛擬機,分別安裝了 Windows Server 2016 Standard 和 Windows Server 2008 R2 Enterprise,它們都具有相同的物理和虛擬記憶體配置:
測試虛擬機配置
記憶體:4GB
C盤(系統專用):32GB
磁碟 G(專用於頁面文件):8GB
驅動器 C 的頁面文件:512 - 1024 MB
驅動器 G 的頁面文件:系統管理的大小
我的測試 VM 2016 目前在 C: 驅動器上使用 512MB,在 G: 驅動器上使用 1GB,總共 5.5 的已送出記憶體
測試 VM 2008 目前在 C: 驅動器上使用 512MB,在 G: 驅動器上使用 4GB,總共 12.5GB 的已送出記憶體
在研究了很多關於承諾記憶體之後,我發現了 Mark Russinovitch 的這篇文章:https ://blogs.technet.microsoft.com/markrussinovich/2008/11/17/pushing-the-limits-of-windows-virtual-memory /
我決定使用帶有 -m 開關的工具 testlimit64.exe 來查看頁面文件是否會在測試 VM 2016 和測試 VM 2008 上增加。
結果反映了最初解釋的問題,即測試 VM 2016 上的頁面文件在 G: 驅動器上沒有增加,但在測試 VM 2008 上卻增加了:
根據此 Microsoft KB:https ://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/automatic-memory-dump ,使用控制面板->系統->高級系統下的自動記憶體轉儲設置Settings->Startup and Recovery->Write debugging information with pagefile配置為系統管理,它可以將pagefile設置為小於物理記憶體的大小。
我執行的測試沒有使用此設置,測試 VM 2008 和測試 VM 2016 都配置了核心記憶體轉儲。
因此,如果我將 G: 驅動器上的頁面文件設置為在測試 VM 2016 上管理的系統,其大小將由 Windows 自動設置,並且在載入時不會增加。這是問題的核心,因為它是 Windows Server 2008 的行為更改。
我的最後一個測試是將 G: 驅動器上的頁面文件手動配置為 4096 - 8100 MB,然後再次使用 -m 開關執行工具 testlimit64.exe,正如您所見,頁面文件確實從 4GB 增加到 ~8GB
所以這是我的問題:為什麼 Windows Server 2016 在設置為系統管理時不增加頁面文件的大小?Windows Server 2008 和 2016 之間對此有何變化?
非常感謝您一路閱讀以及您的回复。
根據 這篇文章,對於 Server 2016 System Managed pagefiles 的大小根據以下:
3 × RAM or 4 GB, whichever is larger. This is then limited to the volume size ÷ 8. However it can grow to within 1 GB of free space on the volume if required for crash dump settings.
對於 Server 2008,它指出:
3 × RAM or 4 GB, whichever is larger
因此,您所看到的似乎是在 Server 2016 上實施的 1/8 規則。
希望有幫助…乾杯