M1版MacBook有硬傷?SSD損耗巨大到底咋回事
M1處理器版的MacBook驚艷了很多人的眼球,有如此強勁的性能的同時,還可以實現超長續航,讓很多人驚呼這就是輕薄本的終極形態。然而,最近M1版MacBook卻引發了一些爭議,有用戶發現在使用一段時間后,SSD的寫入數據量非常巨大。要知道,SSD中NAND的寫入次數是有限的,M1版MacBook這還算是新機,就產生了如此寫入量,為什么會這樣?到底要不要緊?這就來簡單談談。

M1版MacBook出現SSD寫入量過大的問題?
SSD損耗無可避免:操作系統的Swap機制
根據反饋,出現巨大寫入量的SSD,并不是經常掛機下載這樣的任務引起的。在日常使用中,SSD就已經會出現此類情況。實際上,很多操作系統都會造成這樣的狀況,只不過可能沒有M1版MacBook那么夸張。SSD的損耗在日常使用無可避免,其實這是SSD充當了內存Swap引起的。

macOS中的Swap
什么是Swap?這是一個在桌面操作系統中常見的系統機制,我們可以大致理解為硬盤充當了內存的作用。在桌面的使用環境下,PC、Mac等設備需要擁有實時運行多個大型軟件的能力,這就需要內存足以存儲這么多個大型軟件的進程容量。然而物理內存是有限的,為此操作系統就需要調用硬盤空間,充當內存的作用。

Swap機制的簡單示意圖
在macOS系統中,當軟件開始運行,進程即會被讀取到物理內存當中。隨著運行的軟件越來越多,操作系統會意識到內存不夠用,首先采取的措施是對內存中的數據進行壓縮,這會消耗一定的CPU資源;當進入內存的數據變得更多后,操作系統就會考慮舍棄一部分內存中的數據,這時候在內存中沒有被修改過的數據首先被拋棄,釋放出部分內存空間——例如你打開一個軟件,從未操作過,隨著內存逐漸被占滿,這個軟件在內存的一些數據可能實際上已經被清除掉,當你重新開始操作該軟件的時候,會重新從硬盤讀取所需數據。在這種情況下,操作系統并不會對SSD寫入大量數據。
然而,當內存中的數據被修改過,產生了“臟頁”,情況就不一樣了。當內存逐漸被占滿時,操作系統并不能直接將“臟頁”從內存中清理出去,畢竟這往往記錄著軟件的工作進程。這時候,macOS會將這部分“臟頁”暫存到SSD中,這就產生了寫入SSD的數據。
為此,macOS還建立了一個專門的VM分區,來存放這些內存數據,當物理內存越緊張、用戶開啟軟件越多、軟件需求的內存容量越大的時候,VM分區的I/O就會更加頻繁,寫入的數據也就更多。在這樣的Swap操作之下,就算沒有進行下載、傳輸數據之類的操作,也會有大量的數據寫入SSD。

macOS中的VM分區
實際上,并非只有macOS存在Swap的機制,Windows、Android等系統均有類似設計。在Windows中,我們可以在系統高級設置中找到“虛擬內存”,這即是硬盤為內存臟頁提供存儲空間;在Android中,也有zRAM和Swap的機制,會對內存進行壓縮和寫入NAND。

Windows10中的虛擬內存設置
不過,iOS倒是沒有Swap機制,這或許和墓碑機制不需要占用太多RAM、蘋果對iOS設備定位為非重度生產力工具等因素有關。