先分清:系统数据很大,不等于 AssetsV2 很大
macOS 的“系统数据”是一个兜底储存分类,Apple 说明它包含没有归入其他特定类别的 Apple 与第三方文件;这不是某个可以整体删除的文件夹。因此看到“系统数据 80 GB”时,不能直接得出“AssetsV2 占了 80 GB”或“删除模拟器就能释放 80 GB”的结论。
先打开苹果菜单 → 系统设置 → 通用 → 储存空间,记录当前可用容量和大类。再用下方只读命令量出 AssetsV2;如果它只占几 GB,继续清理这里不会解决几十 GB 的系统数据问题。Apple 的储存空间页面会在清理后自动更新,但分类数字、目录大小和磁盘可用空间衡量的不是同一件事,复查时不要把它们直接相减。
| 你看到的现象 | 先核对什么 | 下一步 |
|---|---|---|
| 系统数据大,AssetsV2 小 | 系统设置的储存分类、df 可用空间 | 停止针对 AssetsV2 的清理,改查具体占用来源 |
| AssetsV2 大,simctl 列出旧 Runtime | Components 中的可回收空间、版本与用途 | 只移除确定不再需要的 Runtime |
| AssetsV2 大,但没有对应 Runtime | 最大的资产类别、Xcode 是否安装 | 不要手删;按资源所属的系统或应用入口管理 |
AssetsV2 folder 可以删吗?先看一句话答案
不应删除整个 /System/Library/AssetsV2,也不应把它当作普通缓存使用递归强制删除命令。这个 AssetsV2 folder 是 macOS 管理 MobileAsset 的受保护存储,里面可能同时存在 Simulator Runtime、系统更新、语音、字体和其他组件;文件夹很大,只说明需要继续辨认资产类别,不代表整个目录都可安全删除。
英文问题 is AssetsV2 safe to delete 的准确答案也是:不要删整个文件夹;只在确认某个具体组件不再需要后,通过它的官方管理入口移除。对 Xcode 开发者,通常可处理的是某个明确的 Simulator Runtime,而不是 AssetsV2 本身。
| 对象 | 是否直接删除 | 安全入口 |
|---|---|---|
| 整个 /System/Library/AssetsV2 | 否 | 先只读盘点,由 macOS 或对应组件管理 |
| 明确不用的 Simulator Runtime | 可以按版本移除 | Xcode → Settings → Components;或确认 UUID 后使用 simctl |
| MacSoftwareUpdate、语音、字体等其他资产 | 不要按目录手删 | 回到软件更新或对应系统设置;字体与系统模型保留 |
先判断 AssetsV2 里是哪一类资源
AssetsV2 是 macOS 管理可下载系统资产的位置,不是一个可以整体清空的普通缓存。开发者遇到的几十 GB 占用经常来自 iOS、watchOS、tvOS 或 visionOS Simulator Runtime;同一目录也可能包含系统更新、语音、翻译、字体、Metal 工具链或其他 MobileAsset。
先找出最大的一级类别,再决定由哪个系统组件管理它。不要只因为目录名含有 Asset 或 Cache 就执行 sudo rm;关闭 SIP、修改 MobileAsset 的 XML/plist 或手删 .asset 都可能留下登记状态与磁盘内容不一致的问题。
第一步只读盘点,不删除任何东西
下面四条命令分别查看根卷空间、AssetsV2 总量、最大的一级类别和 Xcode 已登记的 Runtime。du 可能因系统权限而显示部分目录不可读;这不等于应该给终端完全磁盘访问后强删。没有安装 Xcode 或 simctl 不可用时,只报告占用,不猜测目录对应哪个 Runtime。
- df -h /
- du -sh /System/Library/AssetsV2
- du -sk /System/Library/AssetsV2/* 2>/dev/null | sort -nr | head -40
- xcrun simctl runtime list -v
Mac mini 实测:42 GB 的 AssetsV2 里确实有 4 个 iOS Runtime
2026 年 9 月 29 日,我们在 macOS 26.4.1(25E253)的 Mac mini 上做了只读盘点:du 报告 /System/Library/AssetsV2 为 42 GB;Xcode 27.0(27A5194q)的 Components 同时列出 4 个已安装 iOS Simulator Runtime。simctl runtime list -v 返回 4 个 Ready、Deletable: YES 的磁盘映像,总计 31.9 GB。这个结果证明本机的大部分 AssetsV2 占用与模拟器有关,但仍不能把 42 GB 与 31.9 GB 的差额直接判定为垃圾。
Xcode Components 显示的是组件管理视图,simctl 报告的是已登记磁盘映像,du 统计的是目录占用;三者口径不同。读者应在自己的 Mac 上重复盘点,不能照抄本站的版本、UUID、容量或删除决定。本站没有为了测试而删除任何 Runtime。
| 本机已安装 Runtime | Xcode Components 显示容量 | 本次处理 |
|---|---|---|
| iOS 26.3.1 | 8.39 GB | 保留,仅记录 |
| iOS 26.1 | 8.34 GB | 保留,仅记录 |
| iOS 18.6 | 8.84 GB | 保留,仅记录 |
| iOS 18.2 | 8.71 GB | 保留,仅记录 |

先做 Runtime 删除演练
Xcode 随附的 simctl 可以按最后使用时间筛选 Runtime。我们在 2026 年 9 月 15 日用本机 xcrun simctl help runtime 核对,当前命令支持 --notUsedSinceDays、--outdated、--unusable 和 --dry-run;dry-run 只列出候选,不执行删除。
例如 xcrun simctl runtime delete --notUsedSinceDays 30 --dry-run 会预览超过 30 天未使用的 Runtime。不要把“旧”自动等同于“可删”:仍在维护旧系统兼容性、关联当前模拟器设备或当天使用过的版本应保留。
- 记录候选 Runtime 的系统版本、build、UUID、大小和 Last Used At。
- 确认没有正在启动的模拟器依赖它,也没有项目仍需测试该系统版本。
- 估算删后影响:需要时必须从 Xcode Components 重新下载。
- 只有明确确认具体 Runtime 或保留天数策略后,才进入删除步骤。
优先用 Xcode Components 删除
Apple 官方文档说明,Xcode → Settings → Components 会显示已安装组件及删除后可回收的空间。对不再使用的 Other Installed Platforms,点信息按钮,再选择 Delete;可关闭的可选组件则显示 Turn Off。这个入口能让 Xcode 同时处理 Runtime 与登记状态。
不同 Xcode 版本的界面名称可能变化,但不要因此回退到手删系统目录。若 Components 没显示对应条目,先用 runtime list -v 确认它是否仍是已登记 Runtime。

没有安装 Xcode,或 Components 里找不到怎么办
先停在只读诊断。xcrun simctl 报找不到工具,不能据此断定 AssetsV2 是无主垃圾;相反,装一个 Xcode 只为执行删除命令可能让占用更大。记录 macOS 版本、AssetsV2 最大一级类别、df 可用空间,以及系统设置中显示的储存分类,再到对应的系统设置或 App 管理入口找所有者。
如果曾安装后又移除了 Xcode,目录里可能留有受系统管理的资产,但仅凭路径和体积仍无法证明它可安全删除。不要借用网上的通用清理脚本或临时关闭系统保护;确实无法归属时,保留读数并向 Apple 支持或开发者支持提供诊断信息,比盲删可靠。
需要命令行时,只删除已确认的 Runtime
对已经核对过的单一 Runtime,可使用 xcrun simctl runtime delete RUNTIME-UUID。当前 simctl 帮助明确写明,删除磁盘镜像 Runtime 时会先关闭使用它的已启动模拟器并卸载镜像,所以不要在仍有调试会话时执行。本文中的 UUID 是占位符,不能原样复制。
不要使用 runtime delete all,也不要在不了解影响时批量使用 --outdated 或 --unusable。删除完成后,再运行 xcrun simctl runtime list --json、df -h / 和对应 AssetsV2 类别的 du;只有空间实测增加,才能报告已回收容量。
命令成功但空间没有立即回来怎么办
Runtime 的逻辑删除和磁盘实际回收可能不是同一时刻。若状态显示 Deleting,先等待并重新读取 runtime list;不要反复提交删除,也不要杀死 CoreSimulator 进程。目标没有被正在运行的模拟器使用时,可按 UUID 使用官方 runtime unmount,再复查状态。
某些旧 Runtime 已从 simctl 列表消失,但相关 .asset 仍由 macOS 保留。把它记录为系统受管残留,方便时重启后复查;不能承诺重启一定释放,也不要为了让 du 变小而手工删除。
如果最大类别不是 Simulator Runtime
MacSoftwareUpdate 应在“系统设置 → 通用 → 软件更新”中管理;Siri、语言、翻译和语音资源应从对应系统设置移除;字体和系统模型应保留。MetalToolchain 先用 xcodebuild -showComponent MetalToolchain 核对,只有明确不需要编译 Metal shader 时才考虑 xcodebuild -deleteComponent MetalToolchain。
如果你怀疑占用来自 Time Machine 本地快照,不要把它与 AssetsV2 混为一谈。Apple 说明 macOS 会把快照占用计入可用储存,并按时间或空间需求自动清理;Finder 中的系统数据数字不等于必须手动删除的快照容量。
完成后应记录删除前后的 df 可用空间、AssetsV2 总量、删除与保留的 Runtime,以及仍存在但未触碰的系统类别。没有这组前后数据,就只能说操作已提交,不能说已经释放了几十 GB。