同時讓 Codex、Claude Code、Node 與瀏覽器自動操作工作時,畫面上可能只有幾個對話,背後卻已經長出一整串子程序。這份指南提供兩支完全在本機運作的工具:
generate-safe-report.sh:產生一份隱私安全的當下報告。mac-memory-watch.sh:每 60 秒採樣一次,碰到保守警戒線時顯示本機通知。
兩支腳本都不刪檔、不結束程序、不用 sudo、不聯網。它們只負責把狀況說清楚,不會替你關閉任何東西。
先分清楚兩件事
「記憶體壓力」和「磁碟空間」會互相影響,卻不是同一件事:
- 記憶體不夠時,macOS 會壓縮記憶體,也可能把部分資料暫放到磁碟上的 swap。
- 磁碟快滿時,系統能運用的緩衝空間也跟著變少。
- 儲存空間中的「系統資料」包含快取、記錄、虛擬記憶體檔案與其他系統資源,不能直接當成 swap 的大小。
先打開兩個畫面:
- 「活動監視器」→「記憶體」:看底部的「記憶體壓力」與「Swap 使用量」。
- 「系統設定」→「一般」→「儲存空間」:看磁碟還剩多少空間。
Apple 沒有公布一個適用所有 Mac 的「swap 超過幾 GB 就必須重開」門檻。實際判斷要一起看記憶體壓力、swap 的變化,以及磁碟餘裕。
平日|開工前 1 分鐘
- 確認記憶體壓力維持綠色。
- 確認磁碟還有足夠餘裕。我自己的保守線是至少留 40GB,這不是 Apple 官方規格。
- 24GB Mac 先從「2 個重型 AI 工作+1 條瀏覽器操作線」起跑。大型程式修改、專案索引、生圖與長時間分析都算重任務。
- 完成一個工作,就正常結束它帶出的 Node、瀏覽器自動操作與本機伺服器。
- 不確定現在能不能再開時,先產生安全報告,不靠感覺猜。
黃燈|Mac 開始變慢,但仍可操作
- 停止新增 AI 工作、生圖、索引與瀏覽器自動操作。
- 儲存文件;程式工作把尚未提交的變更做 commit 或 stash。
- 在原本的工具裡正常停止已不需要的工作,再用「結束」關閉閒置 App。不要先用強制結束。
- 關閉不用的本機開發伺服器、舊分頁與背景瀏覽器工作。
- 等 5 到 10 分鐘,再看一次記憶體壓力與 swap。
- 數字開始下降、壓力回綠後,一次只恢復一個重任務;若仍持續上升,就進入紅燈流程。
紅燈|壓力變紅、swap 持續長大或磁碟逼近滿載
- 先保存工作,不要再開任何新工作。
- 記下還沒完成的下一步、重要網址、工作名稱與輸出位置。
- 正常停止 Codex/Claude 工作、瀏覽器自動操作與本機伺服器。
- 正常結束最佔記憶體且目前不需要的 App;等 5 到 10 分鐘再觀察。
- 仍維持紅色、操作持續卡頓或磁碟只剩極少空間時,完成下方的重開前清單,再正常重新開機。
不要手動刪除 /private/var/vm/swapfile*、不要把「系統資料」資料夾整批刪掉,也不要用來路不明的一鍵清理工具賭運氣。
重開前|把接續線索留好
- 儲存文件、程式碼、提示詞與尚未匯出的結果。
- 把未完成工作的「下一步」寫成一行,留下網址或輸出位置。
- 確認雲端同步已完成;重要資料最好也有最近一次 Time Machine 備份。
- 截一張活動監視器的記憶體畫面,保留壓力與 swap 數字,方便之後找原因。
- 正常結束 App 與本機伺服器。
- 從 Apple 選單選「重新開機」,取消勾選「重新登入時再次打開視窗」。
- 只有在 Mac 完全沒有反應、無法正常重新開機時,才長按電源鍵強制關機。
重開後|不要一次全叫回來
- 先打開活動監視器,確認記憶體壓力回到綠色。
- 跑一次安全報告,留下一份乾淨開機後的基準。
- 先開一個重任務,觀察 5 到 10 分鐘。
- 再依序恢復第二個 AI 工作與瀏覽器操作線。
- 哪個 App 一開就讓壓力快速上升,就先更新、降低並行量或檢查它的背景子程序。
每週 10 分鐘整理
1. 收掉閒置工作
- 正常結束已完成的 Codex/Claude 工作。
- 關閉不用的本機伺服器、Node 程序、headless browser 與長期沒看的分頁。
- 到「系統設定」→「一般」→「登入項目與延伸功能」,關閉不需要的登入項目與背景活動。
2. 從看得懂的檔案開始清
- 到「系統設定」→「一般」→「儲存空間」。
- 檢查「文件」中的大型檔案與「下載項目」,只刪除你能辨認、已備份或能重新下載的內容。
- 移除不用的 App、舊安裝檔、壓縮檔與不再需要的 iPhone/iPad 備份。
- 確認後再清空垃圾桶,也可以開啟「30 天後自動清除垃圾桶」。
3. 善用 iCloud,但別把同步當備份
- 「系統設定」→你的名字→「iCloud」→「iCloud Drive」,可開啟「最佳化 Mac 儲存空間」。
- 它能在本機空間不足時,把較少使用的檔案改成需要時再下載,不會降低 RAM 或 swap。
- 刪除 iCloud Drive 裡的檔案會同步到其他裝置;大量整理前先確認同步完成與 iCloud 容量。
- 重要工作另外使用 Time Machine。iCloud 是同步服務,不能取代完整備份。
4. 確認備份真的存在
- 接上 Time Machine 磁碟或確認網路備份磁碟可用。
- 從 Time Machine 選單確認最近一次備份時間。
- 重大清理、系統更新或大量搬檔前,先完成一次備份。
工具一|產生隱私安全報告
下載 generate-safe-report.sh,放到想存報告的資料夾後執行:
chmod +x generate-safe-report.sh
./generate-safe-report.sh完成後,同一資料夾會多一份:
mac-memory-safe-report-YYYYMMDD-HHMMSS-PID.md每次執行都會使用新的檔名;若你指定的檔名已經存在,腳本會停止,不會覆寫原檔。
報告只列出實體記憶體、free percentage、壓縮記憶體、swap、磁碟餘裕,以及 Claude、Codex/ChatGPT、Node.js、Chrome/headless 四個固定程序家族的近似 RSS。它不包含完整命令列、私人路徑、檔名、PID、使用者名稱、主機名稱或專案名稱。
你可以把報告與下面這段一起貼給 AI:
請先解釋這份報告中的記憶體壓力、壓縮、swap 與磁碟餘裕。
不要提供刪檔、kill、pkill 或 sudo 指令。
若資訊不足,請先告訴我應該回到活動監視器或儲存空間查看哪個欄位。工具二|開啟純本機警報
下載 mac-memory-watch.sh 後執行:
chmod +x mac-memory-watch.sh
./mac-memory-watch.sh它會留在目前的終端機,每 60 秒印出一次狀態;碰到黃燈或紅燈時,使用 macOS 本機通知提醒你。按 Control + C 即可停止,不會安裝常駐服務。如果尚未授權終端機發送通知,終端機中的狀態仍會持續更新,可照樣使用。
預設使用這組個人保守線:
| 等級 | 任一條件命中 |
|---|---|
| 需追蹤 | 第一次採樣時 swap 已高於實體記憶體一半,但 free percentage 與磁碟仍有餘裕;先等下一次,不立刻通知 |
| 黃燈 | free percentage ≤ 20%;單次採樣間 swap 增加 ≥ 1GiB;或磁碟剩餘 ≤ 40GB |
| 紅燈 | free percentage ≤ 10%;swap ≥ 30GiB;或磁碟剩餘 ≤ 10GB |
這些門檻不是 Apple 官方分級,free percentage 也不等於活動監視器的記憶體壓力顏色。高 swap 如果沒有繼續增加、壓力仍健康,只會標為「需追蹤」;通知的意思是「現在該打開活動監視器確認」,不是自動宣判一定要重開機。
想先確認腳本能不能跑,可以只採樣一次:
MAX_CHECKS=1 ./mac-memory-watch.sh安全邊界
- 不呼叫任何網路服務。
- 不需要管理員權限。
- 不執行
sudo、kill、pkill、rm或launchctl。 - 不自動清快取、swap 或「系統資料」。
- 警報腳本不寫檔;報告腳本只新增一份權限為
600的 Markdown 報告。 - 程序 RSS 可能包含共享頁面,不能直接相加成實體 RAM。