OS X Mavericks 中的記憶體壓縮技術到底有多強大?

時間 2021-05-31 14:44:42

1樓:王文宣

挖個墳吧。

上面的回答說的挺好了。

不過活躍程式的記憶體即便在記憶體不滿的情況下仍然可以壓縮,在10.10的活動監測裡面可以清楚的看到了。這是虛擬記憶體技術的進一步發展,用CPU時間換記憶體空間。

這跟windows下提供的磁碟壓縮原理其實是一樣的。應用程式眼中的檔案事實上是被壓縮好的,當執行讀取和寫入的命令時,底層程式會把檔案解壓,改寫和再壓縮,這個過程對於應用程式來說是透明的,從它的角度來看還是原來的那個檔案。

虛擬記憶體技術也是同樣的道理,現在的作業系統都不再給應用分配物理記憶體了,而是虛擬的記憶體,具體的物理記憶體的塊怎麼分配,是放在物理記憶體上,還是轉存到硬碟的頁面檔案上都由作業系統來管理。儘管物理記憶體由於多個程式在使用而不再是連續的,但是在應用程式眼裡使用的還是連續的記憶體。這樣就大大提高了記憶體的利用效率和安全性。

需要注意的是,很多人把頁面檔案和虛擬記憶體混為一談,事實上頁面檔案並不等於虛擬記憶體,而只是虛擬記憶體在硬碟上的延續。CPU需要的記憶體資料只能在物理記憶體上讀取和寫入,頁面檔案的大小並不能對物理記憶體有絲毫擴充,雖然虛擬記憶體技術使得總記憶體量似乎增加了,但是實際上如果應用程式申請超過可用物理記憶體大小的虛擬記憶體仍然會報錯。這有點類似於小丑玩的扔球遊戲,雖然只有兩隻手,但是可以拿很多球,暫時不用的球拋在空中(頁面檔案),需要拿的球就在手上(物理記憶體),而CPU不能拿硬碟來當記憶體使用,這是CPU的定址原理決定的。

這時候再來看記憶體壓縮就很好理解了,就是記憶體管理器在虛擬記憶體和物理記憶體之間加了個壓縮和解壓的過程,如果壓縮演算法夠簡單,CPU負荷的增加基本上感覺不出來。由於記憶體中往往有很多內容是冗餘的,所以壓縮演算法所帶來的效應非常明顯。對於不同的應用壓縮率不同,就我現在使用的程式來講,10G的記憶體可以壓縮到只有6G左右。

需要注意的是,即便壓縮後記憶體不超過物理記憶體,應用程式仍然不能申請超過總物理記憶體大小的虛擬記憶體。

用乙個圖就很直觀了。

OS X Mavericks 的免費公升級策略,是否會對微軟造成重大衝擊,微軟可以如何應對?

說的好像Mac的硬體很便宜似的。買個Mac的錢夠買個PC然後公升級好幾代的Windows了。所以比起來還是Windows便宜。 liu mula 蘋果的策略是在顛覆以往的商業模式,在以往的商業模式上,CPU 系統 軟體 硬體是分開的,四類廠商整合在一起形成產業鏈,各賺各的錢,其中 CPU和系統廠商 ...

三國殺,主反內的殘局中,內擁有最出眾的單挑能力,假設主和反都絕對理性。他們會不會聯合先滅掉內奸?

小來 請去玩下國戰,事實上對於這三個人來說主公A和內奸B唯一最優解都是乾掉其他2人,而反賊C的最優解是乾掉A即可,但會被B干擾。當B實力最強時,C如果無法迅速乾掉A,則AC聯合乾掉B的概率很高。不過如果A的實力最弱,C有可能秒殺則AC無法合作。 說說最常見的情形吧!本人也認為是最合理的 反一直殺主,...

裡 中 內 語用學上的區別是什麼?

試比較中里內三者的用法差異 1.時間 中 裡 內 1.1某個時間 a.三月中做完 了 工作 b.三月裡做完?了 工作 c.三月內做完 了 工作 這裡的三月都指的是三月份。a句中有比較明顯的三月中旬的意思,而bc兩句則可以表示三月份的某個時間點。但c句的時間點的凸顯相對b句要弱一些,尤其是在用 了 字...