我的電腦上安裝了 Windows 7,記憶體為 2GB。最近,我在運行所有相同的任務時經常出現記憶體不足的情況;視窗會顯示警告等。然而,所有程式使用的總 RAM 小於 2GB。當我調查這個問題時,我發現即使在乾淨啟動(msconfig 中的診斷啟動,僅運行基本服務而不運行用戶啟動)的情況下,Windows 從一開始就以某種方式使用 800-900MB 的 RAM。以下是演示該問題的螢幕截圖:
RamMap 截圖:
池蒙截圖:
運行大約 5 分鐘後,記憶體使用量莫名其妙地下降了 500MB。似乎什麼都沒有改變。總使用量約450MB左右,還是很高,還是正常?當我使用標準設定(加載所有服務等)啟動系統時,五分鐘後的下降量約為 300MB,這仍然意味著啟動時使用了 1GB 內存,而用戶程式僅使用了約 300MB。
經過一番查找,我發現出現這種情況的可能原因有以下幾種:
- Windows 的 SuperFetch 使用記憶體來更快地載入程式 - 事實並非如此,因為我已明確停用它
- 驅動程式中的記憶體洩漏 - 似乎並非如此,因為上面的 poolmon 螢幕截圖中沒有顯示任何重要的使用情況。請確認一下,可能是我讀錯了。
- Windows 以某種方式使用此內存來加速目的 - 情況似乎也並非如此,因為據我所知,它應該在需要時為應用程序提供內存,但事實並非如此。當每個程式使用的總內存在1.3GB左右時我就耗盡了,而總使用的記憶體幾乎是2GB。
我不知道這是否相關,但頁面檔案目前的大小為 756MB,儘管我明確將其設定為 2048MB 作為初始大小和最大大小。我有足夠的磁碟空間,有時頁面檔案的大小會增加。
有人可以澄清發生了什麼事並可能指出我如何解決這個問題的方向嗎?
答案1
527MB被使用driver locked
(看RAMMap圖片),它常被虛擬機器工具使用。
驅動程式已鎖定:這些頁面已被驅動程式鎖定在實體 RAM 中。這可以用於小型/臨時目的(例如 I/O)或較大/較長的分配(例如 RAM 驅動器或其他大型鎖定記憶體保留)。如欲了解更多詳情,請參閱 http://www.microsoft.com/whdc/driver/tips/mmprobe.mspx。
如果您不使用 VM 工具,請尋找其他第 3 方驅動程序,它們可能會鎖定記憶體以獲得更好的效能。