題 在Windows 8中禁用虛擬內存是好的嗎? [重複]


這個問題在這裡已有答案:

我有一個帶有SSD(mSata)的超極本混合和硬盤快速存儲的硬盤,我的PC有6 GB的內存。所以我想知道我是否可以禁用虛擬內存以及我應該做些什麼來改善我的系統性能?

我正在使用帶有核心i3 u3217的Windows 8。


4
2017-11-17 11:27


起源


您無法在任何現代PC操作系統上禁用虛擬內存。 - David Schwartz
@DavidSchwartz,你是什麼意思?我現在正在跑步 禁用“虛擬內存”的Windows 。硬盤上的內存完全是0字節。 - Pacerier
@Pacerier您禁用了頁面文件,但未禁用虛擬內存。 (見下面傑米的回答。) - David Schwartz


答案:


禁用虛擬內存不是一個好主意。虛擬管理是一個複雜的過程,但簡單地說,如果沒有“真實”內存要分配,Windows只使用虛擬內存,那麼Windows會將內存中使用較少的項目交換到虛擬內存。

因此,如果您有足夠的內存窗口將不使用虛擬內存,並將僅在需要使用它時使用它。 (這並不意味著它不會在虛擬內存中寫入任何內容,但它不會導致性能損失。)

但是當您禁用虛擬內存且應用程序沒有足夠的內存時,由於內存不足,您將遇到應用程序崩潰。


7
2017-11-17 11:39



Windows中的“虛擬內存”在內存不足之前就已經使用了。 - 50-3
如果我沒記錯的話,Windows會不斷地將內容寫入虛擬內存,以防以後需要釋放實際內存。 - Mattias Åslund
“如果沒有'真正的'內存要分配,windows只使用虛擬內存”。事實並非如此,Windows會自動將所有類型的東西放入虛擬內存中,因為它們使用的可能性相對較低,或者如果使用它們則不需要快速。 - Dave Cousineau
確切地說,我只是讓提問者變得簡單,因為如果沒有更多的內存可供使用它將“真正”使用它(如果發生這種情況,那麼性能影響就會出現)。但這並沒有改變禁用它是一個壞主意的關鍵事實。 - NoNameProvided
這只是一個更複雜的問題,例如如果低優先級內存com,即使最近使用過,它也會被優先分頁。有很多可以談論這個,我只是想讓它變得簡單。 - NoNameProvided


您無法禁用虛擬內存。 Windows和您的應用程序始終在虛擬內存中運行。程序和操作系統提供給CPU的地址是虛擬地址,而不是物理地址。總是。

刪除頁面文件不會禁用虛擬內存。 (Windows對話框中的術語具有誤導性。)它的作用是禁用對稱為“私有已提交”內存的特定類型虛擬內存的磁盤分頁。這可能會導致其他主要類型的映射內存被分頁。這不會提高性能。

這是一個更完整的分析: http://azius.com/blog/why-do-i-still-need-a-pagefile-or-how-can-i-be-out-of-memory/ 


4
2017-07-20 09:17



我們期望更多只是鏈接到另一個網站。我可能添加的網站信息不正確。 - Ramhound
他是對的。除了虛擬內存之外,程序不會使用任何東西。如果可能,分配的區域將在交換和物理內存之間自動移動。 - Daniel B
如果@Ramhound確切地指出他所感知的“不正確信息”,我將很樂意澄清。 - Jamie Hanrahan
當然,您可以禁用虛擬內存,至少在Windows 7中。這是一篇文章,解釋瞭如何: windows.microsoft.com/en-us/windows/... - Druvision
它使用了錯誤的術語。該文章告訴您如何更改頁面文件的大小 - 包括將其大小設置為零。但是頁面文件不是虛擬內存的同義詞(儘管那篇文章甚至是Windows對話框都說過),在禁用它之後仍然會發生進出磁盤的分頁,並且系統中反映虛擬內存大小的所有計數器都會顯示總是一樣的...除了提交限制,它會小得多。該 Windows內部 書是對的。 - Jamie Hanrahan


我不是Windows專家,我告訴這純粹是Windows用戶的長期觀點。

如果啟用虛擬內存:

  1. 在系統的根目錄(通常是c)驅動器上創建一個大文件(通常是物理內存大小的1.5倍)。此文件無法移動到其他驅動器。如果你的系統驅動器是一個小型SSD,並說你有一個16GB的內存,這將真的打擾你。
  2. 如果你將程序最小化並在很長一段時間後恢復(比如幾個小時之後),Windows將會大量讀取驅動器,程序會暫時無響應。可能是,Windows已將程序的所有內存放入虛擬內存中,並在激活時嘗試恢復內存。
  3. 從上面1和2保存的實內存可用於文件緩存。曾經讀過的文件可以從下次快速讀取。請注意,無論是否使用虛擬內存,Windows都會執行此操作。如果啟用了虛擬內存,那麼就會有更多真正的RAM。無論如何,您可能會或可能不會注意到這種效果。

如果禁用虛擬內存:

  1. 您不會在“啟用”部分遇到前兩個煩惱。
  2. 如果您的RAM使用率接近物理內​​存的大小,是“接近”不等於,Windows將不斷顯示彈出消息,說明系統內存不足。例如,如果您有1GB的物理RAM,並且任務管理器顯示大約0.5GB的RAM,但Windows可能會繼續顯示警告彈出窗口。
  3. 如果您的RAM使用率確實接近物理內​​存大小,整個系統可能會變得非常緩慢且無響應。應用可能會在沒有明顯原因的情

除此之外,我沒有遇到任何禁用虛擬內存的缺點。我認為虛擬內存技術是很久以前發明的,當時PC有8MB或16MB的RAM(MB不是GB)。當我還是一名大學生時,我參加了一個操作系統課程,並學習了虛擬內存的工作原理。但這是一種通用機制,而不是特定於Windows的機制。當PC擁有非常少量的RAM時,它可能很有用,但現在任何人都可以輕鬆地在一個桌面上支付16GB。我認為虛擬內存不再那麼有用了,除非你使用的是具有無法擴展的4GB RAM的筆記本電腦。我個人已經在我的PC上禁用了它,它有16GB的RAM。

在您的情況下,如果您100%確定您的RAM使用率永遠不會超過5GB(因為您有6GB),請繼續並禁用它。


1
2018-01-16 02:50



這不是真的,交換文件可以移動到另一個驅動器。 - Daniel B
以下是至少在Windows 7中完全禁用虛擬內存的方法: windows.microsoft.com/en-us/windows/... - Druvision
如上所述 - 沒有。你不能“完全禁用虛擬內存”。您可以禁用頁面文件,但這是許多文件中的一個,這些文件涉及到磁盤的分頁和從磁盤分頁。仍然會發生分頁,仍然會發生往返磁盤的分頁;性能計數器將證明這一點。 - Jamie Hanrahan
@Sin Jeong-hun你對禁用頁面文件的建議是非常錯誤的。只有對虛擬內存是什麼,如何使用以及它的好處知之甚少的人才會得出結論“虛擬內存不再那麼有用”。虛擬內存有很多很多好處。現代系統可能顯示其大部分RAM“免費”或“可用”的事實並不意味著它可以在沒有v.m的情況下生存。實際上,虛擬內存可以更有效地使用RAM,因此如果沒有它,相同的工作負載可能也不會運行....不是說你無論如何都可以關閉它。 - Jamie Hanrahan