程序員告訴你清理內存的真相!絕對反直覺!
https://www.bilibili.com/video/BV1C619Y5EQw
1. 給硬件保留的內存不是虛擬內存。 2. 物理內存是真實存在的內存。物理內存一小部分保留給硬件用,另一部分給操作系統用。操作系統把其中一部分自己用,剩下的部分留著準備分配給其它程序用。 3. 虛擬內存不是真實存在的事物,是操作系統虛幻出來的概念。操作系統把虛擬內存分配給程序,只有在程序真實使用內存的時候,這些虛擬內存才會被映射到真實的物理內存。當這些虛擬內存不被使用的時候,操作系統視情況可能會把這些轉成硬盤存儲,從而不占用真實的物理內存。具體情況很復雜,至少好幾節課才能講明白最基礎的部分。 4. 資源管理器顯示的基本是物理內存的使用情況。 5. 你的猜想是正確,但是太局限了。你說的這種情況不僅限于啟動過程。每時每刻操作系統都會根據物理內存大小靈活使用物理內存。你給Windows的更多的物理內存它就用更多的物理內存,基本是多多益善,同時你的所有程序很多情況下都會變快。 我個人有一個很不嚴謹比喻:可以把操作系統視為銀行,物理內存是真實的現金,虛擬內存是手機賬戶上的錢。你是一個程序,你只要向銀行要錢,銀行就會直接增加你賬戶上的數字。你賬戶里的數字增長了,但是你并沒有真的拿到現金,你需要去銀行里取錢才能拿到現金。如果你去銀行的時候,銀行金庫見底,你就要排隊等著,等別的程序還錢才行。而這個世界很多時候大家不會主動還錢。當然銀行也不是傻子,如果他發現有人拿著現金不用,就會上門催債把現金強行收走。現在程序普遍都很貪,動不動就向銀行要很多很多的錢,取錢也取得很隨便,導致銀行金庫經常不足,很多取錢的人都在排隊。銀行也要很頻繁地去催債。而且催債過程也很浪費時間。 你增加物理內存后,銀行的金庫總量變大,但是因為大家都很貪,所以金庫還是日常緊缺,但是排隊的人會變少。銀行也會減少催債。從而整個計算機都會變快。 假設有個程序每周用一次現金。物理內存充足的話,它拿到足夠的現金后就可以一直留著不還給銀行,銀行也不會來催債。如果物理內存不足,它每周都要去排隊取錢,取完用完之后很快又會被銀行催債然后被沒收現金,下周它又要重新去排隊。它就會變慢很多。

浙公網安備 33010602011771號