win 7 64bit 8G內存,運行大型遊戲時提示內存不足,然而物理內存仍有大量富餘?
01-01
本人是雙通道兩條4g的電腦,玩cod11,單程序內存佔用達到3g多時,系統就提示內存不足,但可用內存明明還很多,任務管理器顯示已用內存只有66%。懷疑是win7
限制了單程序可用內存,但64位系統似乎沒這個設置。出現這個原因是因為之前把虛擬內存值從8g改到只有512m。難道我要放著物理內存不用而用虛擬內存嗎?求各位解惑
把虛擬內存改回去。Windows對內存和swapfile的管理請看講解:memory - Why does Windows 7 use the page file when there"s free physical RAM?
@很好 的鏈接說的很清楚了,題主卻不肯讀。
我放個圖說明一下問題:
任務管理器里free的內存不是真正的free,以我的這台電腦為例,任務管理器里顯示用了5G多內存,還有一半多沒有,實際上這一半多不是沒用,是備用(standby)。
在資源管理器里可以看的更清楚一些:
In Use是已經使用的部分,這個跟任務管理器里顯示的一樣。任務管理器里空閑的部分實際上是StandBy+Free,這部分不是空閑,而是用來做緩存的,真真正正free的部分是非常少的。當然,如果內存緊張的時候,Windows會釋放一部分standby內存,但這需要時間,同時釋放策略也不是一旦內存緊張了馬上就釋放。所以,老老實實地把頁面文件打開吧,你的空閑內存沒你想的那麼大,任務管理器里顯示的也不是真正的空閑內存。
還有,有些軟體能清理備用內存,把備用內存轉成free,但這個很危險,後果就是你的計算機性能下降非常明顯。遊戲本身的內存使用方式的問題,然後遊戲是32位的么
還是內存小,要是想流暢玩各種東西至少12G.
剩下那不到4個G用作RamDisk當Temp用。這是軟體問題,這年頭這種腦殘軟體不多見了,我虛擬內存關了2年,從來沒碰到過類似問題蛤蛤蛤
nt6 x64對32bit程序依然有單進程最大2g的限制,對64bit沒有限制。windows報告oom是系統根據歷史內存使用量來推斷,再這樣下去就會OOM,搞不好就會導致程序崩潰,影響到用戶的數據,所以會提前告訴你快要OOM啦。所以你如果有信心,覺得遊戲肯定不會真導致OOM的話,可以無視這個警告,但萬一真的OOM了,會導致某些東西崩潰,後果自負。解決方法有三個:要不上面說的無視警告;要不開pagefile,你開著,ram真正吃完之前並不會寫pagefile,對系統運行速度並沒有什麼影響;要不繼續加內存。
你自己瞎改八改,還要怪win7,win7給你看的不一定是真正的空閑內存.
而且cod11內部可能會在運行前先預判內存剩餘多少,比如他預判第5關場景需要使用物理內存5G,當他一口氣問win要5g時,win 說: 要這麼多?木有啊!剛有個小白玩家把虛擬內存關了.現在剩餘內存4.8G.不好意思了.就這樣...你覺得還剩好多.不錯.可是沒卵用,cod11的需要你還是沒滿足.虛擬內存不開的windows就是一坨屎。
為硬體保留的太多了
下面的已經說了 預讀內存可能大於內存剩餘量 把虛擬內存取消掉可能是因為硬碟太慢 但是現在ssd基本普及的年代不會影響很大 鹵煮只需把虛擬內存稍微設置大點就可以了
明顯是虛擬內存的問題啊
平時還是別開虛擬內存,硬碟做虛擬內存很影響運行速度.如SSD則影響不大.程序沒寫好,虛擬內存不足會報錯,甚至直接退出.
我12G內存都不敢關虛擬內存,你8G還是老老實實開著吧
俺來裝個逼首先,本人所有機器內存沒低於16G的,所以,玩遊戲方面還沒碰到過這種問題。此外,不管多大內存,俺都沒關過虛擬內存,但一般只設到4-8G,因為俺主盤、次盤都是SSD,還有5個SSD 組Raid5,所以,完全沒壓力。
那總結裝逼的話
其實就是兩個結論
1、MS方面有說明文檔
他們並不建議關閉或減少虛擬內存
因為很多軟體並不會放棄虛擬內存的使用
而Win本身的運行機制也沒有脫離虛擬內存
更改虛擬內存的目的是迴避硬碟讀寫的低效率,
但這並不是唯一的方案
Raid陣列或SSD其實已經很有效地緩解了這個問題。
2、題主的疑惑不在於用這個或不用那個。
而是哪。個。都。不。夠。用。
因為機器的硬體配置使他沒有選擇的餘地。
推薦閱讀:
※Dota2高端業餘選手跟職業選手打比賽是怎樣的體驗?
※難度極高的網路遊戲 EVE 為什麼被評為 2011 年最佳遊戲?
※玩遊戲,看電影是否浪費時間?
※如何評價sumail來國服嘲諷中國dota?