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。
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的寫入量。
MacBook強調“開蓋即用”,長時間不關機,Swap更頻繁,休眠會增加SSD的寫入量
·和軟件生態有關。越新的軟件,佔用的內存越多,這是無可辯駁的大趨勢,在業界中被稱為“安迪-比爾定律”。M1版MacBook由於硬件上進行了革新,很多軟件也隨之發布新版,新版軟件帶來了更大的內存容量需求,使得操作系統更容易觸發Swap。與此同時,一些X86老軟件在M1版MacBook運行,需要經過Rosetta 2轉譯代碼,這會佔用更多的存儲空間,安裝、使用這樣的老軟件,這也有可能加劇對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是否是真正的原因,還有待蘋果官方證實。
Spotlight可能是導致SSD寫入增加的原因,但這點有待證實
M1版MacBook真的有硬傷嗎?
在多種因素作用下,部分用戶的M1版MacBook產生了較多的SSD寫入量。例如有用戶反饋,使用僅僅60天,就產生了高達261TB的SSD寫入量,以1000次P/E計算,則已經消耗了一塊256G SSD 10%的壽命。那麼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本身的軟硬件特性,讓該現象尤為突出,引發了用戶的注意。雖然這目前沒有引發故障,但也值得重視,用戶的擔心是有道理的。希望蘋果能盡快能出面解釋,或者改進系統機制,給用戶一個好交代吧。