了解OS X中的壓縮內存

內存壓縮可以提高你的Mac的性能

隨著OS X Mavericks的發布,Apple改變了在Mac上管理內存的方式。 隨著內存壓縮功能的增加,Mac可以在保持或提高性能的同時以更少的內存實現更多功能。 在較早版本的OS X中,內存使用是圍繞一個非常標準的內存管理系統構建的。 應用程序請求分配RAM,系統完成請求,並且應用程序在不再需要RAM時將其返回。

操作系統負責大部分跟踪有多少RAM可用以及誰在使用它的骯髒工作。 如果所需的RAM量不可用,操作系統也會計算出該怎麼做。 最後一部分是最重要的,因為系統試圖利用虛擬RAM (SSD或硬盤驅動器上的交換空間)時,可能會對Mac的性能產生不利影響。

蘋果甚至提供了一個非常漂亮的工具, 活動監視器 ,除此之外,還可以監視Mac的RAM如何被使用。 儘管活動監視器仍然可用,但其內存監視功能已經發生了巨大變化,它模仿了Mac通過使用壓縮內存能夠更好地使用RAM的方式。

壓縮的內存

壓縮的內存不是蘋果公司的新產品或獨家產品。 計算系統長期以來一直在使用各種形式的內存壓縮。 如果您在80年代中期和90年代早期使用過Mac,那麼您可能會記得Connectix公司的RAM Doubler等產品,它可以壓縮存儲在RAM中的數據,從而有效地增加Mac可用RAM的數量。 我記得當我的Mac Plus啟動時看到RAM Doubler圖標出現。 相信我,只有4 MB內存的Mac Plus需要RAM Doubler可以提供的所有幫助。

隨著計算機製造商和操作系統開發人員創建更好的內存管理系統,壓縮內存實用程序失寵。 與此同時,內存價格正在下降。 性能問題是導致內存壓縮系統失去受歡迎程度的另一個因素。 內存壓縮算法花費了大量的處理能力。 這意味著,雖然它們讓你用更少的物理RAM完成更多任務,但當他們需要壓縮或解壓縮內存時,它們往往會讓計算機停滯不前。

內存壓縮正在捲土重來,這主要是因為廉價的多核處理器的出現。 當用於內存壓縮的例程可以卸載到許多處理器內核之一時,當內存需要壓縮或解壓縮時,您不大可能注意到任何性能問題。 它只是成為後台任務。

壓縮內存如何在Mac上運行

Mac上的內存壓縮旨在通過更好地管理RAM資源並防止或大大減少虛擬內存的使用,從而提高操作系統和應用程序的性能,即虛擬內存是Mac和Mac驅動器之間的數據分頁。

使用OS X Mavericks (或更高版本)時,操作系統會查找不活動的內存,這是內存,目前尚未處於活動狀態,但仍保存將被應用程序使用的數據。 這個不活動的內存會壓縮它所保存的數據,因此數據佔用的內存較少。 非活動內存可以是位於後台但未被使用的應用程序。 一個例子是一個文字處理器,它是開放的,但不活躍,因為你正在休息和閱讀壓縮的內存(順便說一句,謝謝你停下來讀這篇文章)。 在您忙於瀏覽網頁時,操作系統正在壓縮文字處理器的內存,釋放RAM以供其他應用程序使用,例如用於在網絡上觀看電影的Flash播放器。

壓縮過程始終處於非活動狀態。 相反,操作系統會檢查RAM中有多少可用空間 。 如果有大量的可用內存,即使存在大量不活動的內存,也不會執行壓縮。

隨著空閒內存用盡,操作系統開始尋找不活動的內存進行壓縮。 壓縮從存儲在內存中的最早使用的數據開始,並向前推進,以確保有足夠的可用內存。 當需要RAM的壓縮區域中的數據時,OS即時解壓縮數據並使其可供應用程序請求。 由於壓縮和解壓縮例程在其中一個處理器內核上同時運行,因此在壓縮/解壓縮發生時,您不可能遇到任何性能損失。

當然,壓縮可以實現的限制。 在某些時候,如果您繼續啟動應用程序或使用吞噬RAM的內存密集型應用程序,您的Mac將沒有足夠的可用空間。 就像過去一樣,操作系統將開始將不活動的RAM數據交換到Mac的驅動器。 但對於內存壓縮,對於大多數用戶來說,這可能是非常罕見的情況。

即使操作系統不得不將內存交換到驅動器,OS X的內存管理系統也會通過將壓縮數據寫入全長驅動器段來充分利用壓縮的非活動內存,從而提高性能並降低SSD的磨損。

活動監視器和內存壓縮

您可以使用“活動監視器”中的“內存”選項卡來監視正在壓縮的內存量。 Memory Pressure(存儲器壓力)圖中顯示了大量壓縮存儲器,表明操作系統參與壓縮RAM數據的活躍程度。 當沒有足夠的RAM空間並且必須將內存換出到驅動器時,圖形將從綠色(小壓力)變為黃色(顯著壓力),最後變為紅色。

所以,如果你注意到自從你安裝了Mavericks後,你的Mac似乎有更多的反彈,那很可能是因為內存管理的進步和內存壓縮的回歸。