自2021年上半年以來,越來越多的蘋果使用者在報告他們計算機的儲存健康狀態,這引起了一波關於Apple Silicon Mac儲存潛在壽命的熱議及擔憂。這些報告所描述的問題主要集中於,新發布的配備M1的Mac裝置可能存在過度使用SSD來進行記憶體資料swap(交換),其中甚至存在2年內消耗完可寫入總位元組數的情況。
那麼究竟記憶體資料swap到硬碟會不會影響你的SSD壽命呢?在下文中我們會盡可能簡單地來講一講這個問題。
1.為什麼作業系統會自動進行Swap?
在弄明白記憶體資料swap是否會影響SSD壽命之前,首先需要了解為什麼作業系統會自動swap你的資料。實際上現代的作業系統都存在記憶體資料交換到硬碟的行為,不論是Windows、MacOS還是Linux。究其原因就在於現代計算機作業系統的設計之初就是提供給“個人使用”的。從作業系統的角度來說,它是無法得知我們具體的操作行為並預判我們之後的動作的(比如開啟需要更多記憶體的軟體)。因此係統只能透過我們已經載入了的專案的大小,來判斷是否需要提前把記憶體裡其他不夠活躍的資料交換到硬碟當中,以應對潛在的、更加龐大的對記憶體需求的壓力。雖說原則上優先使用記憶體來存放各種程序的資料,但是一旦記憶體中存在不活躍的資料,那作業系統就會主動地進行swap,以保證整個系統的穩定與流暢。從技術原理的角度來理解,你需要先了解兩個概念。第一個是物理記憶體(physical memory)以及另一個概念叫做邏輯記憶體(logical memory)。
物理記憶體:物理記憶體指透過物理記憶體條而獲得的記憶體空間。其主要作用是在計算機執行時為作業系統和各種程式提供臨時儲存。比如你的計算機裝配了2個32G的記憶體條,那就代表具有64GB的物理記憶體。
邏輯記憶體:而邏輯記憶體是分配給邏輯分割槽的地址空間,作業系統會將其視為主儲存。可以理解為是從軟體的角度來看,當你報告給作業系統需要多大記憶體,你的邏輯記憶體就有多大。
而在邏輯記憶體的概念中,它是不關聯計算機中實際的物理記憶體有多少的,因為記憶體排程實際上是作業系統來完成的任務,當物理記憶體無法滿足的時候,系統就會自動的把記憶體條裡面那些“不活躍分子”swap到SSD上,從而把一部分的空間騰出給邏輯記憶體來使用。從原則上說肯定是物理記憶體越大越好,但是即便你有很大的記憶體,swap這個行為仍然是人機互動層面上很必要的一個功能。其本質都是作業系統為了幫助使用者更好地處理任務而進行的設計。就像理論上計算機是完全能夠並行處理許多程序的,但是由於我們作為使用者在作業系統時來說往往只能在1-2個工作流之間切換,這就必然導致即使我們開了無數個程式,在真正的操作過程中也只能專注於1-2個任務。舉個例子,你不可能開啟幾十個頁面同時瀏覽,你肯定需要逐一瀏覽,關閉一個再看另一個。
2.超出想象的SSD實際壽命
回到SSD壽命損耗,許多使用者擔心是否會由於記憶體過小,頻繁且大量的記憶體資料被swap到SSD上,從而導致過快地消耗SSD。實際上,只有極少數使用者的SSD在執行硬體S.M.A.R.T測試之後發現是真的超過了1%的使用壽命,甚至兩個月裡消耗了10%。但那些極端例子實際上大機率是軟體或者說統計寫入資料量的一個BUG,而這些BUG和不正常的資料如今也已經被修復了。對於普通使用者來說,正常使用Mac一個月,SSD的總寫入量通常也就在3-4TB。而一般市面上SSD的使用壽命在150TB-1200TB左右(分別對應250GB-2TB的SSD容量),按照1個月3TB的寫入來算,理論上至少可以使用5-30年。並且廠家官方給出的使用壽命還是“Warranty(保質)”的資料,這意味著SSD真正能夠寫入的資料要更多(比如標稱1000TB的寫入壽命,實際上能支援將近2000TB的資料)。
總的來說,不論你是什麼作業系統,8G的記憶體swap的頻率毋容置疑會比16GB的要更高,也確實會造成更多的SSD寫入壽命消耗。但是即使在極端情況下,你的SSD也仍可以正常執行10年以上。如果你有足夠的預算,那當然也建議你購買16GB或者說更大記憶體的Mac裝置。而對於預算不夠僅買了8GB記憶體的使用者,你也不用擔心,你SSD的實際寫入量遠沒有你想的那麼多。