如果你在新加坡、日本、韩国、香港、美东、美西的独占远程 Mac(M4 / M4 Pro)上反复遇到「盘快满了、构建却越来越慢」,本文给出可签字结论:在扩 1TB/2TB、做缓存治理、加第二台峰值机之间用三选一决策矩阵 + 六步 Runbook + 三条水位阈值选型,并把选择与日租/月租/季租挂钩。全文不与「纯选区延迟」或 POC 全流程重复,而是承接上线前稳定性验收之后最常见的下一问:磁盘到底该花钱扩,还是该改用法。📊
df 百分比,不看目录归因:APFS 快照、Time Machine 本地快照与「其它用户」目录会把根分区显示为红,但真正拖慢 Xcode 的常常是单一大目录线性增长,需要 du 分层采样而不是一次性 rm -rf。iostat 显示磁盘利用率长期 <40% 而编译仍慢,瓶颈在并行度或链接器内存;此时升 M4 Pro 或加第二台比 2TB 更有效。六国远程 Mac 的工程优势是独占物理盘边界清晰,但边界清晰不等于容量自动匹配 workload。苹果硅统一内存架构下,磁盘压力与内存压力常同相出现:Simulator 并行、Swift 增量编译与容器层缓存会同时推高 IO 与 RAM。若不做三选一决策,团队往往在「再清一次盘」与「再加一台机」之间来回横跳,既浪费租期又拖慢发布节奏。💾
本篇与多地区节点租赁与成本指南的关系是:那边回答「选哪国、选什么租期」;这里回答在同一节点上,磁盘瓶颈的第一性处置顺序。也与CocoaPods/SPM 源站与磁盘清单互补——依赖下载优化能减少「假性满盘」,但不能替代对 DerivedData 与模拟器资产的治理。
| 场景信号 | 优先:缓存治理 | 优先:1TB/2TB 扩盘 | 优先:加第二台 / 升 Pro |
|---|---|---|---|
| 清盘后 7 日可用空间仍 <15% | 仅当 du 显示可释放 >30% 且未执行过标准清理 | 默认:结构性增长(多分支 DerivedData) | 若 CPU 队列 p95 同时饱和 |
| 单仓 <8GB,但 3+ 套 Simulator OS | 卸载未用 runtime + 设备集 | 常驻 2+ 大版本 OS 镜像 | 并行 UI 测试 worker >2 |
| Monorepo + affected 已启用仍周周满 | 检查 blobless 与缓存路径 | 默认:中间产物目录隔离失败 | 构建与测试必须分盘/分机 |
| 发版周仅 10–14 天峰值 | 默认:清理 + 快照导出 | 不推荐锁季租仅为两周 | 日租/周租第二台更优 |
| 扩 2TB 后 iowait 仍 <8% 且慢 | 非磁盘主因,停止继续扩盘 | 一票否决:勿再加盘 | 默认:算力/并发瓶颈 |
底层机制:APFS 的写时复制让「删除大目录」有时不能立刻回收「可用空间」显示,尤其是存在本地快照时。治理步骤必须包含快照列表核对,否则会出现「明明删了 200GB,df 只回来 20GB」的挫败感,进而误判为必须扩盘。🔍
~/Library/Developer、DerivedData、CoreSimulator、~/.gradle、~/Library/Containers 等分层;输出 CSV 备查。# 磁盘 Top 目录采样(在远程 Mac 上执行,请替换 WORK 路径) export WORK="$HOME" df -h / echo "---- top dirs under Library/Developer ----" du -hd 1 "$HOME/Library/Developer" 2>/dev/null | sort -hr | head -12 echo "---- DerivedData total ----" du -sh "$HOME/Library/Developer/Xcode/DerivedData" 2>/dev/null echo "---- CoreSimulator ----" du -sh "$HOME/Library/Developer/CoreSimulator" 2>/dev/null
在六国远程 Mac 上,磁盘决策的本质是把不可压缩的工作集与可压缩的缓存分开。清得掉的,用治理;清不掉的,用扩盘或分机;清不掉且算力也满的,别再加盘——那只是在为队列瓶颈买安慰剂。
自建 Mac 托管或短期云实例常把「磁盘」和「运维」拆成两张账单,团队容易低估快照、模拟器资产与多人共盘的复利;而纯靠本地笔记本接力构建,则往往在发版周同时撞上磁盘与睡眠策略问题。对需要独占 Apple Silicon、可预期磁盘档位、六国就近节点的团队,把本篇矩阵写进采购附件后,用 MACCOME 的 Mac 云主机把 1TB/2TB 与租期组合一次性对齐,通常比反复临时加盘或盲目加机更省总拥有成本,也更利于 CI 与人工排障共用同一套水位语言。✅
下一步若你已锁定扩盘或加机,请把节点大区与租期条目一并带入评审;价格与周期对照见产品页,技术互链仍建议保留稳定性验收与 Monorepo 专文作为附件,避免发布周只讨论容量不讨论链路。🧭