【問題】那個才是真正的虛擬記憶體使用量?





Zuchen
2007-05-16, 07:56 AM
我到系統設定裡面把Pagefile設成30mb後重開機

結果1.
PageFileUsageMonitor看到的使用量
http://img82.imageshack.us/img82/7244/vr1nn9.gif

結果2.
工作管理員看到的個別程式使用量
http://img91.imageshack.us/img91/5857/vr2cz4.gif


很明顯上面那幾個程式的虛擬記憶體使用量,早就超過30mb了
到底那個顯示的才正確?




琥珀
2007-05-16, 02:18 PM
都是對的。這個不好解釋,因為光是作業系統的記憶體管理,就可以寫一本書了。當然,自己了解的也不多。

許多名詞 (terminology) 的不一致,甚至是微軟自己的技術文章,常常會誤導 (mislead) 用戶,以為做了 A 動作,就可以達到 B 的結果 (效能、穩定性、使用大小…等)。這些資訊很多都是片面的,或許在某種條件下真的有用,但絕對不是每個作業系統都要這樣設定。這些片面的資料,一直充斥於網路上,逐漸給大家洗腦,讓用戶吸收錯誤的知識,以為只要改個設定,就能改變什麼。

工作管理員的實體記憶體,在 Process Explorer 中是稱呼為工作集 (working set);虛擬記憶體大小,在 Process Explorer 中是稱呼為私有位元組[大小] (private bytes)。嚴格說來,工作管理員的使用名詞是不恰當的,但是為了讓 end user 容易看懂,所以才簡化名詞。

Zuchen
2007-05-16, 06:53 PM
所以依照琥珀的解釋:
工作管理員裡的虛擬記憶體,又稱(private bytes),其實和系統設定裡的磁碟分頁檔(pagefile)是不同東西囉?

那我可以把它理解成為:working set和private bytes,其實都有可能同時存在在"記憶體"和"pagefile"上嗎?

basuya
2007-05-16, 07:45 PM
看到有趣的討論,先訂閱一下。