Sql-Server
增加了伺服器的記憶體,但我需要更改頁面文件的大小嗎?
我在 Windows Server 2012 R2 上執行 SQL Server 2017,並將記憶體從 256 GB 增加到 512 GB。我注意到虛擬記憶體的以下配置:
- C:$$ OS $$ = 2 GB
- G:$$ DATA $$= 無
- H:$$ LOGS $$= 無
- 電話:$$ TEMP $$= 無
那裡有很多關於將大小設置為已安裝記憶體大小的 1.5 或 2 倍的建議。我讀的是正確的還是我誤讀了這些文章並且它們適用於其他東西?
還有文章建議不要擔心虛擬記憶體,因為 SQL 應該只使用 RAM 而不是虛擬記憶體,而作業系統只需要 2GB 的虛擬記憶體?
我認為 2x 大小的 RAM 建議已經過時且不切實際。如果伺服器只有 32 GB 的 RAM,這可能是有意義的,但是在具有大量記憶體的系統上將其提高 2 倍是浪費昂貴的磁碟空間。
頁面文件有兩個主要用途:
- 用作記憶體的交換文件。 如果正確配置 SQL Server 和其他應用程序以限制可用記憶體量,則永遠不需要它來實現此目的。如果系統確實必須使用頁面文件來交換記憶體,那麼系統性能將會非常糟糕,您實際上會遇到中斷並被迫立即處理它。因此,如果您配置一個 1 TB 的頁面文件,那麼當系統開始交換到磁碟時它不會提高性能,並且您將被迫在它需要交換 100 GB 之前對其進行處理。
- 如果系統崩潰(在安裝 OS 的捲上)**保持記憶體轉儲。**同樣,如果伺服器只有 32 GB 的 RAM,則將其配置為在系統崩潰時執行完整的記憶體轉儲是有意義的。但是,出於診斷目的,很少需要完整的記憶體轉儲,而核心記憶體轉儲是具有大量記憶體的系統上的合理選擇。此外,與 1996 年(或任何時候)提出 2 倍建議時相比,Windows 崩潰的頻率要低得多。此外,如果系統崩潰並且您獲得 1 TB 記憶體轉儲(您需要在 c: 上釋放另一個 TB),那麼祝您好運,將這個傻瓜拉上拉鍊並將其轉移到 Microsoft。我只會配置核心轉儲,並且僅在系統崩潰並且 Microsoft 需要完整的記憶體轉儲來診斷問題時更改它。
因此,如果您是超級偏執狂(在某些情況下這當然是合理的)並且有 2 TB 的空間可供分配,而這可能永遠不會被使用,那麼可以考慮使用巨大的頁面文件。然而,它很少是真正必要的。
所以我的回答是你不太可能需要增加頁面文件的大小。它可能還沒有以目前的大小使用,並且現在有了更多的記憶體,使用它的可能性就更小了,因此沒有必要在更大的磁碟上浪費更多的磁碟空間。