在 Mac 上查 SSD 健康與用量:怎麼查、怎麼看,以及 swap 會不會磨壞硬碟
用一行指令查 Mac 內建 SSD 的累計寫入量與健康狀態,帶你看懂 SMART 報告裡的關鍵欄位,並釐清 swap 對 SSD 壽命的實際影響。
目錄展開
最近網路上有傳聞,Codex 可能會大量寫入 SSD。於是我也趕快來檢查一下。
結論
在我的 Apple Silicon Mac 上,透過 Homebrew 安裝 smartmontools 後,在一般「終端機」執行 smartctl -a /dev/disk0,不加 sudo 就能讀取內建 SSD 的 SMART 資料。
報告主要看的欄位有四個:
Percentage Used:控制器估算的壽命消耗比例Available Spare:剩餘備用空間的標準化比例Data Units Written:主機送到 SSD 控制器的累計寫入量Media and Data Integrity Errors:控制器偵測到、無法復原的資料完整性錯誤
至於 swap,看到它出現不等於 SSD 正在被磨壞。比較實用的做法,是同時觀察「活動監視器」的記憶體壓力,以及一段時間內 Data Units Written 增加了多少。若寫入量持續異常,再找出是哪個程式造成,而不是只看目前占用了多少 swap 空間。
另外,SMART 顯示 PASSED 也不代表 SSD 保證不會故障,更不能取代備份。它適合用來觀察目前狀態與長期趨勢。
怎麼查 Mac 內建 SSD 的 SMART 資料
先用 Homebrew 安裝 smartmontools:
brew install smartmontools
接著查看磁碟代號。內建實體磁碟通常是 disk0,但仍建議先確認:
diskutil list
確認後讀取 SMART 資料:
smartctl -a /dev/disk0
-a 會列出裝置資訊、整體健康狀態與 SMART/Health 欄位。這個指令只讀取資料,不會執行抹除、格式化或寫入測試。
這裡主要看 Apple Silicon Mac 的內建 NVMe SSD。Intel Mac、外接 SSD,以及透過 USB 外接盒連接的裝置,支援狀況與磁碟代號可能不同。
以下是我在 2026 年 6 月 24 日取得的實際輸出,節錄重點如下:
Model Number: APPLE SSD AP2048Z
SMART overall-health self-assessment test result: PASSED
Temperature: 36 Celsius
Available Spare: 100%
Available Spare Threshold: 99%
Percentage Used: 0%
Data Units Read: 67,971,031 [34.8 TB]
Data Units Written: 39,480,118 [20.2 TB]
Power Cycles: 119
Power On Hours: 361
Unsafe Shutdowns: 7
Media and Data Integrity Errors: 0
報告裡的數字怎麼看
SMART overall-health:目前有沒有重大警告
SMART overall-health self-assessment test result: PASSED 表示控制器目前沒有回報會讓整體健康檢查失敗的重大警告。
Percentage Used:控制器估算的壽命消耗
Percentage Used 是最值得長期追蹤的欄位。依 NVMe 規範,它是製造商根據實際使用狀況與預估耐久度算出的壽命消耗比例,因此不同 SSD 的估算方式可能不同。
數值到 100%,代表控制器認為標稱耐久度已經用完,但不代表那一刻就會故障;這個數值也允許超過 100%。反過來說,0% 只代表控制器目前仍回報 0%,不能把它解讀成精確的「完全沒有磨損」或「幾乎全新」。
Data Units Written:主機累計寫入量
我的報告顯示 Data Units Written 為 20.2 TB。這是主機送到 SSD 控制器的累計邏輯寫入量,會涵蓋系統、應用程式與 swap 產生的主機寫入。
但它不等於 NAND 快閃記憶體實際承受的總寫入量。NVMe 規範指出,這個欄位不包含 metadata,也不包含控制器因垃圾回收等內部操作產生的額外寫入,因此不能直接拿它當成實體 NAND 寫入量。
Available Spare:剩餘備用空間
Available Spare 是剩餘備用空間的標準化百分比。我的數值是 100%,門檻為 99%,表示目前回報的剩餘備用容量高於警告門檻。
如果這個數字掉到門檻以下,控制器可能發出警告。
Media and Data Integrity Errors:無法復原的錯誤
Media and Data Integrity Errors 記錄控制器偵測到的無法復原資料完整性錯誤,例如不可修正的 ECC 錯誤或 CRC 檢查失敗。
我的數值是 0,代表這份報告中沒有這類已偵測錯誤。綜合 PASSED、Percentage Used、Available Spare 與錯誤數來看,這次快照沒有出現明顯異常訊號。
怎麼知道「這段時間」寫了多少
單次執行 smartctl 只能看到控制器生命週期內的累計值,無法告訴你今天或某個程式剛剛寫了多少。
最簡單的方法,是在兩個時間點各記一次 Data Units Written:
smartctl -a /dev/disk0 | grep -E 'Percentage Used|Available Spare|Data Units Written|Media and Data Integrity Errors'
例如今天記錄一次,24 小時後再執行一次:
第二次的
Data Units Written− 第一次的Data Units Written= 這段期間的主機寫入量
若差值突然大幅增加,再配合即時監控工具或「活動監視器」找出當時正在大量寫入的程式。這樣比看到一個累計數字就猜測是 swap 或某個 App 造成,更有判斷價值。
想看即時讀寫,可以用 Stats

這張 Stats 截圖拍攝時間晚於前面的 smartctl 範例,因此累計寫入量與健康百分比不同。
smartctl 提供的是累計快照,不會告訴你這一秒正在寫入多少。要追蹤持續寫入的異常,即時曲線與程式清單反而更有用。
Stats 是一套免費開源的 macOS 選單列監控工具。磁碟模組可以顯示即時讀寫速度、I/O 曲線及活躍程式,也能顯示 SMART 資訊。
兩者的用途不同:
smartctl:查看控制器回報的壽命、備用空間、累計主機寫入量與錯誤- Stats:觀察即時讀寫變化,協助判斷異常發生的時間與可能涉及的程式
Stats 畫面中不同區塊的數字可能來自不同統計來源,不能假設每個「總寫入」都等同 Data Units Written。如果目的是判斷 SSD 壽命,仍以 SMART 區塊與 smartctl 的數值為主。
監控工具本身也需要定期讀取系統資料,會消耗少量資源。如果只在意磁碟活動,啟用需要的模組即可。
swap 到底會不會磨壞 SSD
swap 確實會造成 SSD 寫入,但「有使用 swap」和「SSD 正在被快速磨損」是兩件不同的事。
macOS 會透過記憶體壓縮與 swap 調度記憶體。Apple 的說明指出,當記憶體接近容量上限時,系統會壓縮不活躍的記憶體內容;「Swap Used」則是啟動磁碟上目前用來在 RAM 與磁碟之間交換資料的空間。
這裡最容易誤會的是:活動監視器顯示的 swap 大小是「目前使用多少空間」,不是「今天累計向 SSD 寫了多少」。因此,看到幾 GB 甚至十幾 GB swap,不能直接換算成相同數量的每日 SSD 寫入,也不能單靠這個數字判定 SSD 壽命正在快速下降。
Apple 沒有公布各款 Mac 內建 SSD 的 TBW 耐久度,因此也不適合用「每 1TB 容量固定等於多少 TBW」直接推算。比起套用其他市售 SSD 的保固數字,更可靠的方式是觀察自己的 Percentage Used 趨勢,以及 Data Units Written 在固定時間內增加多少。
可以用以下順序判斷是否需要處理:
- 先看「活動監視器」的記憶體壓力,而不是只看剩餘 RAM 或 swap 大小。
- 比較兩次 SMART 快照,確認每天或每週實際增加多少主機寫入量。
- 如果寫入速度持續異常,再用 Stats 或活動監視器找出相關程式。
- 如果記憶體壓力長期呈黃色或紅色,先減少同時執行的高記憶體工作、調整工作流程,或下次換機時選擇較大的統一記憶體。
Apple Silicon Mac 的統一記憶體購買後無法升級,所以「之後再加 RAM」不是可行方案。另外,大量寫入也可能來自程式紀錄檔、資料庫、同步或其他 bug,不一定是記憶體不足或 swap 造成。
為什麼有些教學會加 sudo
在 Linux 上,smartctl 通常需要 root、適當的裝置權限或 capabilities,才能開啟磁碟裝置節點。
macOS 讀取 Apple NVMe SSD 的方式不同。smartmontools 的文件說明,它在 macOS 上透過 NVMeSMARTLib API 取得資料。在我的 Apple Silicon Mac、Homebrew smartctl 7.5 與一般「終端機」環境中,不加 sudo 就能成功讀取。
因此建議先直接執行:
smartctl -a /dev/disk0
不同 macOS 版本、沙盒環境、Intel Mac 或外接儲存裝置的結果可能不同,不應把「一定不需要 sudo」當成所有 Mac 都成立的規則。如果指令失敗,先確認磁碟代號、執行環境與裝置類型,再判斷是否真的是權限問題。
看到 Error Information Log failed 要擔心嗎
Apple SSD 的輸出最後有時會出現:
Read 1 entries from Error Information Log failed
這段訊息表示 smartctl 沒有成功讀取 NVMe 的 Error Information Log,不等於前面的 SMART/Health Information 也讀取失敗。只要 Percentage Used、Available Spare、Data Units Written 等主要欄位有正常列出,就可以使用這些已成功取得的資料。
不過,目前沒有足夠根據把原因直接斷言成「Apple 刻意不開放」。比較準確的說法是:主要 SMART/Health 資料讀取成功,但這個額外錯誤紀錄頁面讀取失敗。
總結
在 Apple Silicon Mac 上,smartmontools 可以快速讀取內建 SSD 回報的健康與累計寫入資訊。判斷時不要只盯著一個數字,而要把以下項目合起來看:
Percentage Used是否持續上升Available Spare是否仍高於門檻Media and Data Integrity Errors是否出現非零值Data Units Written在固定時間內增加多少- 記憶體壓力與即時磁碟寫入是否長期異常
正常使用 swap 不必先入為主地恐慌;真正值得處理的是持續異常的寫入量,以及造成它的程式或工作負載。最後,SMART 是觀察工具,不是保固,也不是備份。重要資料仍應保留至少一份獨立備份。
參考來源
相關文章
Mac 複製檔案路徑教學:Finder 右鍵與快捷鍵一次看懂
想在 Mac 複製檔案路徑?本文整理 Finder 右鍵 + Option、快捷鍵 ⌥⌘C、取得資訊視窗與批次複製路徑的方法,適合寫文件、用終端機或提供路徑給 AI 工具時使用。
macOS 與 Windows 檔案拖動、複製、移動邏輯整理
用最短時間釐清 macOS 與 Windows 在拖動檔案、複製、移動與剪下貼上的差異,避免把同卷宗與跨卷宗規則搞混。
LuLu 防火牆完全指南【基礎篇】:認識原理與上手操作
從零開始認識 LuLu 這類 macOS 出站防火牆,整理安裝授權、初始設定、連線警示判讀與基本規則管理。