simslim

一个给 Mac 用的 iOS 模拟器瘦身工具。平时一个模拟器启动后要跑将近 180 个后台服务,Siri、Spotlight 索引、照片分析、iCloud 同步这些,开发测试根本用不上,白白吃掉 4GB 内存。SimSlim 把这些没用的后台进程关掉,内存能压到 900MB 左右,一台 16GB 的 MacBook Pro 原本开 5 个模拟器就开始卡,现在能同时跑 19 个。

Github地址

https://github.com/MobAI-App/simslim

功能特性

  • 一键开关瘦身:对指定模拟器启用或恢复标准模式,修改持久生效
  • 细粒度控制:按类别批量关闭服务,也可以单独保留某个功能,比如留着 Spotlight 搜索或者推送通知
  • 实时监控:查看模拟器运行状态、内存占用、磁盘分配大小
  • 磁盘清理:只读分析可回收空间,确认后安全清理缓存、日志、临时文件等白名单目录,不动系统文件
  • 模拟器管理:克隆、重命名、启动、关机、抹除、删除,带 JSON 输出方便接 CI
  • 自带 macOS App:SwiftUI 界面,支持搜索、排序、按服务单独控制,操作更直观

怎么用

装起来很快,二选一:

1
brew install mobai-app/tap/simslim

或者

1
go install github.com/mobai-app/simslim@latest

只支持 macOS,需要装了 Xcode 和 iOS Simulator runtime,因为底层调的是 xcrun simctl

命令行常用的几条:

1
2
3
4
simslim list                    # 看哪些模拟器已经瘦过身simslim on <udid>               # 给指定模拟器开瘦身,自动重启生效simslim off <udid>              # 恢复标准模式
simslim status <udid> # 看当前瘦到什么程度
simslim measure <udid> # 实时内存占用
simslim disk-plan <udid> # 只读分析能清多少垃圾
1
simslim disk-clean --categories caches,logs --confirm <udid>   # 确认后清理

要留特定功能的话,比如留着搜索:

1
simslim on <udid> --except search

或者单独留推送服务:

1
simslim on <udid> --keep com.apple.apsd

想自己编译图形界面版:

1
make appopen build/SimSlim.app

注意瘦身和磁盘清理是两套独立操作,清理前 disk-plan 先看一眼,确认无误再加 --confirm 执行。模拟器抹除或删除后瘦身状态会丢失,新建或升级 runtime 的模拟器也是标准模式起步,需要重新跑 simslim on