我該如何告訴 Windows 7/8/10 在將 RAM 副本複製到頁面檔案時不要過於激進?

我該如何告訴 Windows 7/8/10 在將 RAM 副本複製到頁面檔案時不要過於激進?

許多人問如何停用頁面文件,因為他們感受到了我將要問的問題的影響。相反,我想解決這個問題,而不禁用頁面文件。

Windows 能夠將其認為可能需要調出的頁面檔案RAM 儲存起來,儘管理論上這有助於避免緊急情況下的垃圾,但對於使用HDD 速度較慢的系統(例如廉價筆記型電腦)的用戶來說,這非常煩人。

例如我目前的電腦:現在使用的 RAM 為 4.8GB,但目前「提交費用」約為 8GB

使用 sysinternal 工具,我發現頁面文件的大部分內容都是 RAM 中內容的搶佔式副本,看起來確實很低(我有 8GB 的​​ ram,因此使用率為 61%),但是使用 RamMap我注意到大部分記憶體使用都是「備用」內存,而大部分「備用」內存是Windows 快取(使檔案載入速度更快的快取)。其中很大一部分是二進位文件,即遊戲的聲音文件。

那麼,目前發生的情況:我玩一些遊戲... Windows 將其載入到RAM 上,並將其他內容複製到頁面檔案(使遊戲效能變差),然後我停止玩,Windows 將遊戲檔案快取在RAM上,因為RAM 使用率很高,它不斷地在頁面文件上放入更多內容,期望我用完RAM,這會使速度變慢,因為它不斷在我質量極差的HDD 中執行I/O 。

但如果我只查看應用程式的實際 RAM 使用情況、目前運行的應用程式、進程、核心和使用的共享內容的提交費用,則實際 RAM 使用情況應該是 2.5GB,包括 RAM 和頁面檔案。

所以,我想嘗試而不是告訴Windows不要緩存(緩存有點酷),或者禁用頁面文件,我想告訴它不要使用頁面文件,除非確實需要(例如,如果物理內存使用 - 備用)物理內存使用率> 物理記憶體的80%)。

有人知道我該怎麼做嗎?

答案1

經過大量研究,我了解到我所要求的實際上是不可能的,你無法調整 Windows 以使其表現得更好,能做的最好的事情就是完全禁用頁面文件。

禁用頁面檔案對我來說基本上解決了問題,解決了我的大部分效能問題(並導致了一些其他問題),但這是完全值得的。

答案2

恐怕這會讓性能變得更糟。正如您所承認的,您的磁碟速度很慢。這意味著擁有盡可能多的記憶體可用作磁碟快取至關重要。這只能透過刪除未從 RAM 存取的內容來實現,這需要將它們寫入頁面檔案。

如果 Windows 不使用頁面檔案來騰出更多 RAM 用於緩存,則由於快取減少,甚至需要更多磁碟 I/O。這會使性能變得更糟。

Windows 正在充分利用糟糕的情況。設計 Windows 記憶體管理系統(從 Vista 開始)的人們清楚知道他們在做什麼,並且是現代硬體上分頁系統設計的領先專家。你和我都不比他們更了解。他們沒有犯下任何可以透過翻轉開關來修復的重大錯誤。抱歉,沒有神奇的「走得更快」按鈕。

順便說一句,現代 SSD 具有顯著的寫入耐久性。因此,如果您無法添加更多 RAM,那麼為頁面檔案添加小型、便宜的 SSD 並不是不合理的。顯然,將主要文件保存在 SSD 上會產生更大的影響。

答案3

遺憾的是你不能這樣做,基本上你可以有一個頁面文件,也可以沒有一個頁面文件,你可以選擇頁面文件的儲存位置和大小,但你無法控制交換內容的演算法。

我確信你得到過令人沮喪的答案,就好像你是個白痴,而微軟開發人員總是正確的等等。

基本上,Windows 被編程為更喜歡備用記憶體(讀取快取)而不是將內容保留在頁面檔案之外。這個想法是,您有可能想要讀取備用快取中的數據,如果發生這種情況,您將獲得效能提升。

我不太同意這一點,我的觀點是,如果您將實時數據交換到頁面文件中,那麼您的系統“不可避免”地會在某個時刻想要讀取該數據,而當它這樣做時,您會出現滯後,因為它的已從頁面文件中讀取。此外,與直接從檔案系統讀取相比,從頁面檔案讀取的開銷更高。

以我的系統為例,Windows 總是會調出Nvidia 多顯示器節電工具,我不知道為什麼,演算法中的某些內容讓它選擇該應用程序,即使RAM 使用率低至5%,它也會調出頁面。

我的觀點是,頁面檔案應該只用作避免災難,基本上類似於 swappiness=1 linux sysctl。這與您在問題中提出的問題基本上相同,本質上,Windows中RAM使用的唯一重要部分是“使用中”和“修改”,修改的是寫入緩存,顯然需要將其資料轉儲到磁碟之前可以被清除,而清除備用快取不會產生負面後果。

我已經在我的32 GB Windows 系統上進行了大量的測試,並且我絕對沒有看到啟用頁面文件帶來性能提升的證據,但我看到了性能損失,因為嘗試使用它選擇分頁的任何應用程序都會受到影響落後。

我對走哪條路的問題給出的明確答案是,如果系統穩定性是您的首要目標,請保持頁面檔案啟用,並將其設定為至少 8 GB 大小。如果效能是您的目標,特別是如果您至少有 32 GB 的 RAM,那麼請務必停用頁面檔案。

相關內容