Windows

Windows Server 2016 頁面文件不增加

  • November 23, 2018

如果這不足以理解我的問題,我提前道歉,它有點長,但我已盡力使其易於理解。

我在 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 規則。

希望有幫助…乾杯

引用自:https://serverfault.com/questions/930424