AI/自動化 2026年4月28日

2026 OpenClaw 磁碟耗盡、JSONL 輪替與 ProxyMac Mac mini 上的 APFS 可清除空間

ProxyMac 工程團隊 2026年4月28日 約 12 分鐘閱讀

團隊在香港、日本、韓國、新加坡、美國的租賃 Mac mini M4 上跑 OpenClaw 時,偶爾撞上一種殘酷型態:MCP 工具逾時、代理行程不斷重啟,而 top 的 CPU 卻很空。根因常很單純——磁碟壓力。Apple 晶片桌機的 NVMe 額度仍有限;沒完沒了的 JSONL 診斷(見 日誌指南)、容器層與 Xcode DerivedData 遺留,都能把有效可用量壓到 5 GB 以下,讓 APFS 難以替小寫入分配範圍,子行程回傳 ENOSPC 卻沒有友善橫幅。本文說明它在 OpenClaw 內如何浮現、如何讀 df 與「磁碟工具程式」、如何設計與 launchd 相容的輪替,以及如何與 健全探測閘道復原劇本並排告警。

在使用者看到磁碟圖表前,ENOSPC 如何在 OpenClaw 內浮現

OpenClaw 會催生大量短命行程:MCP 伺服器附加尾端 JSON、嵌入模型在 ~/Library 快取分片,若 TCC 對話失敗還會落到主控台。當 write(2) 回報無空間時,Node 可能在 stderr 刷新前就丟例外——儀表板只顯示「工具不可用」。追查 部署疑難排解 時,若症狀只在數小時 soak 後才現形,請並行檢查磁碟。

  • 徵候 A:MCP 子行程結束碼為 1 且日誌為空。
  • 徵候 B:閘道 LaunchAgent 每 45–90 秒重生卻無崩潰報告。
  • 徵候 C:磁碟工具程式仍宣稱「尚有 50 GB」,但 df -h 不一致——APFS 快照在客氣地說謊。

這類靜默失效會讓值勤誤以為「模型供應商掛了」或「網路抖動」,直到有人在互動 shell 看到 No space left on device。請把磁碟檢查寫進任何長 soak的前置條件;也把 JSONL 路徑與輪替策略提交給稽核,免得事故後才發現日誌無上限。

APFS 可用空間、可清除位元組,以及 Docker/Xcode 為何悄悄爆炸

APFS 會向可清除快取「借」可用空間——相片衍生檔、時光機本機快照、檔案提供者占位檔。受壓時檔案系統可回收數 TB;在此之前 df 可能顯示92% 使用率而 Finder 仍顯示尚有餘裕。請跑 tmutil listlocalsnapshots / 並對照 diskutil apfs listVolumeGroups。容器執行時把 overlayFS 疊在 Data 卷;清掉未用映像常在 CI 重型主機回收 18–40 GB。請為 OpenClaw 與模型快取預留至少 15 GB 穩態餘量——再緊就會在夜間 cron 壓縮時競態。

不要對任意資料夾 chmod 777。 用放寬 ACL「換空間」會破壞 憑證文件 所要保障的邊界。

若監控告警只看「使用率百分比」而非絕對 GB,請注意 APFS 在小剩餘時 metadata 成長會不成比例;這時「看似還有幾 GB」仍可能在尖峰寫入時瞬間撞牆。

與 launchd 協作的 JSONL 輪替模式

把 JSONL 當 nginx 日誌對待:檔案超過約 150 MB 就輪替,保留 7 份每日壓縮封存;若法遵允許再把冷資料送到物件儲存。macOS 上簡單路徑可用 newsyslog;每使用者代理可用小型 bash 護欄在門檻前執行 mv app.log app-$(date +%s).log。請謹慎複製 Linux Ansible 裡的外來 logrotate——Gatekeeper 與路徑漂移曾害過團隊。輪替參數請與 組態版本化 儲庫中的設定對齊。

症狀對照表:把運維語言翻成磁碟事實

晦澀徵候磁碟訊號立刻可下的指令
「模型六小時後卡住」卷使用率跨越 95%df -h /System/Volumes/Data
「代理不停重啟」無法附加 JSONLls -lh ~/Library/Logs/OpenClaw/*.jsonl
「下載檔不見了」可清除快取被忽然回收磁碟工具程式「修理」與快照瘦身

表列語句請改為可量化替代句:附上時間區間、卷 UUID(可由 diskutil info 頁尾複製)以及輪替設定檔版本號;這樣跨交班的 RCA 才不會只剩聊天紀錄。

重新安裝 OpenClaw 前的六步磁碟分診

  1. 快照現實:在同一張工單附件貼上 dfdiskutil infotmutil listlocalsnapshots
  2. 定位肥大樹:對首頁跑 du -hd1 ~,鎖定 Logs、Library、工作區。
  3. 輪替 JSONL 並確認 launchd 工作仍可啟動。
  4. 清過期快照——僅在離線備份存在時。
  5. 重啟 OpenClaw:依 閘道復原launchctl kickstart 順序。
  6. 新增磁碟告警:與存活 ping 並列,連續五分鐘可用位元組低於 20 GB 即發報。
吞吐量提示:磁碟 IO 飽和時 MCP 延遲會像網路掉封包——先用 並行調校 對照,再冤枉 WAN。

容量規畫:把 GB 翻成運維決策

原廠 512 GB SSD 聽起來巨大,直到三支團隊共用一台:四十 GB 給 Xcode 工具鏈、六十 GB 給模型快取、九十 GB 給夜間整合產物——壞週末就可能把可用量打到零。請為工作負載分帶預算:互動開發至少 80 GB;可在獨立 APFS 卷做快照的 CI 溢出約 40 GB;另保留 25 GB 未指派緊急緩衝給 metadata。若85% 使用率連續超過六小時,請先用 提供者故障轉移 把代理流量移開,再刪減日誌——別等 MCP 全面崩塌。

mini掛載的 SMB 共用資料夾共享同一磁碟池——別讓設計師把數百 MB 的 PSD 拖進同時存放 JSONL 的共用區,除非保存期限對齊。法遵匯出若要落到外接卷,僅在安全審查允許時為之;否則使用內建 SSD 上的加密稀疏映像並明文記載保存年限。每個 GB 決策應落在 組態版本化 儲庫旁,讓財務可追溯為何申請升級。

把快照視為分支指標:理解時很好用,忽略時很危險。輕量輪替平面檔加上冷儲存匯出,通常比在 JSONL 暴長環境硬堆「類 ZFS」保留更易維運。刪封存前誰簽核——沒有這條監管鏈,稽核會預設你在磁碟一緊張就棄證。午夜交接請貼上 diskutil apfs list 頁尾,別猜容器 UUID。

常見問題

應關閉統一日誌嗎? 應降低子系統冗長度,而非刪除 /var/db/diagnostics

iCloud 最佳化會干擾 OpenClaw 工作區嗎? 會——桌面/文件最佳化可能拖延寫入;請排除代理目錄。

RAM disk 快取呢?M4 上做短時建置有用,但大小要有上限——請在跑冊旁連到 說明文章 並記載上限。

為何在重度代理場景仍選 ProxyMac Mac mini

租賃 Mac mini M4 提供快速 SSD 與相對可預期的耗損;你可布署 香港/日本/韓國/新加坡/美國 區而不運硬體,又讓 APFS 快照對齊法遵保存。請將磁碟衛生與透明的 定價 並列,運維動線走 說明中心;需要 Finder 級清理時再用 VNC 會比純 SSH 更快。

保有余量讓代理常駐

香港/日本/韓國/新加坡/美國 · JSONL 友善 Mac mini