SSD損耗巨大!M1版MacBook真的有硬傷?

M1處理器版的MacBook驚艷了很多人的眼球,有如此強勁的性能的同時,還可以實現超長續航,讓很多人驚呼這就是輕薄筆電的終極形態。

然而,最近M1版MacBook卻引發了一些爭議,有用戶發現在使用一段時間後,SSD的寫入數據量非常巨大。要知道,SSD中NAND的寫入次數是有限的,M1版MacBook這還算是新機,就產生了如此寫入量,為什麼會這樣?到底要不要緊?這就來簡單談談。

M1版MacBook有硬傷?SSD損耗巨大到底咋回事
M1版MacBook出現SSD寫入量過大的問題?

SSD損耗無可避免:作業系統的Swap機制

根據回饋,出現巨大寫入量的SSD,並不是經常掛機下載這樣的任務引起的。在日常使用中,SSD就已經會出現此類情況。實際上,很多作業系統都會造成這樣的狀況,只不過可能沒有M1版MacBook那麼誇張。SSD的損耗在日常使用無可避免,其實這是SSD充當了記憶體Swap引起的。

M1版MacBook有硬傷?SSD損耗巨大到底咋回事
macOS中的Swap

什麼是Swap?這是一個在桌面作業系統中常見的系統機制,我們可以大致理解為硬碟充當了記憶體的作用。

在桌面的使用環境下,PC、Mac等設備需要擁有實時運行多個大型軟體的能力,這就需要記憶體足以存儲這麼多個大型軟體的進程容量。

然而物理記憶體是有限的,為此作業系統就需要調用硬碟空間,充當記憶體的作用。

M1版MacBook有硬傷?SSD損耗巨大到底咋回事
Swap機制的簡單示意圖

在macOS系統中,當軟體開始運行,進程即會被讀取到物理記憶體當中。

隨著運行的軟體越來越多,作業系統會意識到記憶體不夠用,首先採取的措施是對記憶體中的數據進行壓縮,這會消耗一定的CPU資源;當進入記憶體的數據變得更多後,作業系統就會考慮捨棄一部分記憶體中的數據,這時候在記憶體中沒有被修改過的數據首先被拋棄,釋放出部分記憶體空間——例如你打開一個軟體,從未操作過,隨著記憶體逐漸被佔滿,這個軟體在記憶體的一些數據可能實際上已經被清除掉,當你重新開始操作該軟體的時候,會重新從硬碟讀取所需數據。

在這種情況下,作業系統並不會對SSD寫入大量數據。

然而,當記憶體中的數據被修改過,產生了「臟頁」,情況就不一樣了。當記憶體逐漸被佔滿時,作業系統並不能直接將「臟頁」從記憶體中清理出去,畢竟這往往記錄著軟體的工作進程。

這時候,macOS會將這部分「臟頁」暫存到SSD中,這就產生了寫入SSD的數據。

為此,macOS還建立了一個專門的VM分區,來存放這些記憶體數據,當物理記憶體越緊張、用戶開啟軟體越多、軟體需求的記憶體容量越大的時候,VM分區的I/O就會更加頻繁,寫入的數據也就更多。

在這樣的Swap操作之下,就算沒有進行下載、傳輸數據之類的操作,也會有大量的數據寫入SSD。

M1版MacBook有硬傷?SSD損耗巨大到底咋回事
macOS中的VM分區

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

M1版MacBook有硬傷?SSD損耗巨大到底咋回事
Win10中的虛擬記憶體設置

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

M1版MacBook為何SSD寫入數據尤其多?

M1版MacBook為何SSD寫入數據尤其多?Swap是一種非常常見的系統機制,Windows、Android等作業系統有類似設計。但有用戶回饋,M1版MacBook的SSD寫入數據就是特別多,這到底是為什麼?下面是一些分析。

·和長期不關機的用戶習慣有關。Mac電腦,有其是M1版MacBook,強調「掀蓋即用」,很多用戶養成了長期不關機的習慣,不使用電腦時僅僅合蓋休眠。作業系統沒有經過重啟,經過長時間持續使用,記憶體臟頁會越來越多,寫入SSD的數據也越來越多。加上macOS的休眠狀態(hibernatemode)會將RAM數據寫入硬碟,長期使用休眠待機,也會加大SSD的寫入量。

M1版MacBook有硬傷?SSD損耗巨大到底咋回事
MacBook強調「開蓋即用」,長時間不關機,Swap更頻繁,休眠會增加SSD的寫入量

·和軟體生態有關。越新的軟體,佔用的記憶體越多,這是無可辯駁的大趨勢,在業界中被稱為「安迪-比爾定律」。M1版MacBook由於硬體上進行了革新,很多軟體也隨之發布新版,新版軟體帶來了更大的記憶體容量需求,使得作業系統更容易觸發Swap。

與此同時,一些X86老軟體在M1版MacBook運行,需要經過Rosetta 2轉譯程式碼,這會佔用更多的存儲空間,安裝、使用這樣的老軟體,這也有可能加劇對SSD的寫入操作。

M1版MacBook有硬傷?SSD損耗巨大到底咋回事
M1版MacBook兼容X86軟體需要Rosetta 2轉譯,這會佔用額外的硬碟容量,給SSD寫入更多數據

·和RAM容量過小有關。M1版MacBook僅提供8G和16G兩種RAM容量,而多數用戶都選擇8G RAM的版本。物理記憶體越小,就越容易觸發Swap,有用戶回饋稱,8G RAM版本的M1版MacBook的確比16G版產生了更多SSD寫入數據量。

·或許和M1晶片架構有關。M1晶片使用了片上系統的設計,RAM和CPU核心集成到了一起,這有助於提高I/O效率,但也有可能加快Swap的速度。但這只是一種可能,蘋果沒有公開太多M1晶片在這方面的細節,無法推定。

·或許和Spotlight有關。Spotlight是macOS中的全局搜索機制,它會檢索硬碟中的所有數據。部分用戶回饋,新版macOS的Spotlight很有可能額外對SSD寫入了大量數據,目前某些beta版的macOS已經停用了Spotlight的文件檢索。不過Spotlight是否是真正的原因,還有待蘋果官方證實。

M1版MacBook有硬傷?SSD損耗巨大到底咋回事
Spotlight可能是導致SSD寫入增加的原因,但這點有待證實

M1版MacBook真的有硬傷嗎?

在多種因素作用下,部分用戶的M1版MacBook產生了較多的SSD寫入量。例如有用戶回饋,使用僅僅60天,就產生了高達261TB的SSD寫入量,以1000次P/E計算,則已經消耗了一塊256G SSD 10%的壽命。那麼M1版MacBook如此巨大的SSD寫入量,真的算是缺陷嗎?筆者認為需要辯證看待。

M1版MacBook有硬傷?SSD損耗巨大到底咋回事
用戶回饋,M1版MacBook使用僅僅60天,就產生了高達261TB的SSD寫入量

·從歷史來看,如果只是正常使用,SSD的損壞基本是由於硬體缺陷或者韌體問題導致,SSD很少因為寫入次數耗盡,而壽終正寢。很多SSD的實際壽命都高於官方標稱,外媒Hardware.info曾經進行過測試,即使是TLC快閃記憶體的SSD,壽命也遠超預期。SSD一般存在冗餘容量,這部分容量用戶不可見,可以有效延長SSD的生命周期。

·SSD很多寫入行為產生於早期,例如X86軟體進行Rosetta轉碼導致SSD寫入額外數據,這樣的情況只會發生一次。隨著使用時間,SSD的損耗速度應該會有所回落。

如果你實在擔心,可以選擇購買更大RAM和SSD容量的MacBook使用。更大的RAM意味著更多數據讀寫發生在物理記憶體中,平時會觸發更少的Swap;而更大的SSD容量意味著寫入同樣的數據量,SSD的損耗更少。當然,這樣的設備價格也會更高。

至於這到底算不算硬傷,由於目前該現象尚未引發故障,因此很難說這屬於設計缺陷。不過,該現象很值得大家保持關注,尤其是Spotlight的表現,大家可以暫時停用Spotlight,觀察是否SSD寫入數據有所減少。

總結

總的來說,M1版MacBook大量SSD寫入,是由Swap機制引起的,而M1版MacBook本身的軟硬體特性,讓該現象尤為突出,引發了用戶的注意。雖然這目前沒有引發故障,但也值得重視,用戶的擔心是有道理的。希望蘋果能儘快能出面解釋,或者改進系統機制,給用戶一個好交代吧。