在远程 Mac mini M4 上,生产 CI 往往还没碰到内存瓶颈,APFS 可用空间就先被 Xcode Derived Data、臃肿的 .xcarchive、CoreSimulator 镜像以及 7×24 的 OpenClaw 日志写爆。 本文为 2026 年 iOS 平台与自动化负责人提供:各类负载常见占用区间、该清理还是该升级 SKU、以及七步回收流程——在不破坏可复现构建的前提下拿回最多空间。文中含两张表、可执行的清理循环与可粘贴到变更单的 FAQ 结论。
~/Library/Developer/Xcode/DerivedData。若 df -h / 显示可用低于 12 %,应先回收或扩容再继续打归档——加带宽解决不了满盘。
建议与 统一内存档位矩阵(CPU/内存争用)及 首周上线清单(区域延迟基线)交叉阅读。若容量测算指向新采购行,请先在 定价页 对比 SKU,并在 帮助中心 核对保留策略,再提交财务审批。
2026 年 Apple Silicon 构建机上最吃盘的五类负载
- Derived Data 膨胀: 多 Scheme 单体仓库两次全量清理构建后,模块图与索引若未治理,常见超过 45 GB。
- 归档与符号: 为崩溃分析保留每个 Release
.xcarchive,单次版本常见 2–8 GB;dSYM 通常再占 15–35 %。 - 模拟器运行时: 固定 iOS 运行时加多设备配对,未装 watch/tvOS 前就可能 12–25 GB。
- OpenClaw 遥测: Debug 网关写 JSONL,频道压测时可达每日 600 MB;未压缩轮转会成倍放大。
- Homebrew 与工具链缓存: Node/Rust/Python 产物在共享 Agent 上常见 8–20 GB,需每周垃圾回收。
参考占用表(规划值,非 SLA)
用下表做预算脚手架;分支策略与保留 SLA 会上下浮动,请在内部 Wiki 记录实测 du -sh 快照。
| 负载切片 | 典型稳态 | 尖峰驱动 | 主路径 |
|---|---|---|---|
| Xcode Derived Data | 18–55 GB | 大版本 Xcode 后全量索引 + 清理构建 | ~/Library/Developer/Xcode/DerivedData |
| Archives + dSYM | 10–40 GB | 周更发版列车未裁剪 | ~/Library/Developer/Xcode/Archives |
| CoreSimulator | 15–60 GB | 并行 UI 套件 + 多设备 ID | ~/Library/Developer/CoreSimulator |
| OpenClaw 日志 / tmp | 2–12 GB | Debug 日志 + 崩溃循环 | 配置指定日志根目录 + /tmp 溢出 |
SKU 决策矩阵:清理、扩容还是拆机
| 信号 | 首选动作 | 升级路径 |
|---|---|---|
| 可用 10–15 %,负载平稳 | 执行下文七步回收 | 若回收 <8 GB,安排更大 SSD SKU |
| 夜间构建 I/O 超时,交换区不高 | 检查 APFS 容器压力 / 磁盘类型 | 将 Xcode CI 拆到 新加坡 或 东京 第二节点 |
| OpenClaw + Xcode 同机 7×24 | 限制日志级别 + 每日 gzip 轮转 | 日志 >5 GB/周 时从 控制台 增加专用 Agent 机 |
| 合规要求 90 天构件保留 | 经 1 Gbps 推送到对象存储 | 勿把系统盘当唯一归档库 |
运维可通过 SSH 执行的七步回收循环
- 取证: 运行
df -h /与tmutil listlocalsnapshots /;CI 机若存在本地快照,先删陈旧快照——它们会「吃掉」可见空闲。 - 安全裁剪 Derived Data: 备份当前 Scheme 列表后,用
find删除超过 21 天的目录;若仍支持热修复分支,至少保留一份冷缓存。 - 修剪模拟器: 每周
xcrun simctl delete unavailable;在流水线 YAML 写明所需 runtime ID,便于 QA 知悉会自动重下哪些设备。 - 归档上限: 正式发布候选在 14 天后迁出主机;本地仅保留最近两套 dSYM 做符号化演练。
- OpenClaw 日志轮转: 按文件 250 MB、保留 7 代;修改后按 launchd 常驻指南 重载 LaunchAgent。
- 清理包管理器缓存: Homebrew 执行
brew cleanup -s;语言栈缓存建议每 Job 独立临时目录,成功后删除。 - 负载下复测: 重放最重
xcodebuild test+ OpenClaw 浸泡;45 分钟内可用空间应稳定高于 18 %。
图形会话峰值:Web VNC 会放大临时缓存
通过 Web VNC 调试 UI 测试会额外产生 Preview 与 Safari 检查器缓存;单看不大,多人在同一「黄金机」上叠加会显著增长。建议在共享机器固定 周五 清扫窗口并在内部频道公告。
FAQ:财务、合规与多区域一致性
新加坡、东京、美西是否应统一磁盘规格?
建议统一以保证流水线一致性——最糟的是 东京 全绿而 美西 因满盘失败。DerivedData 策略应一致;仅当合规要求更长本地保留时再区分。
rsync 到便宜存储会破坏代码签名流程吗?
移动 .xcarchive 包本身可行,须保持权限与 APFS 扩展属性;勿剥离 xattr。复制后应用现有 CI 门禁重新校验公证票据。
如何论证「加大 SSD」还是「加第二台 Mac」?
将 I/O 等待浪费的分钟数乘以工程师全载成本;当每周浪费约超过增租成本的 2.5 倍 时,应扩容或从 控制台 增加第二节点。
Apple Silicon M4 适合把 SSD 余量当作一级 SLO:APFS 无法分配新 extent 时,统一内存也救不了。将保留策略与 xxxMac 独享 1 Gbps、约 五分钟 级开通能力结合,可在分钟级克隆干净环境而非长期手搓满盘。矩阵指向「升级」时在 定价页 确认 SKU;指向「回收」时先跑完七步再开事故单。
延伸阅读
在管道卡死前先规划磁盘
对比套餐与区域,为 Derived Data 与模拟器预留空间。