资讯动态

simslim 12大核心命令详解:从on到measure,完整掌握iOS模拟器内存优化

发布时间:2026/10/4 5:26:36 来源:尧图企业网站定制
simslim 12大核心命令详解从on到measure完整掌握iOS模拟器内存优化【免费下载链接】simslimRun more iOS simulators on one Mac by disabling background daemons a simulator doesnt need项目地址: https://gitcode.com/gh_mirrors/si/simslimsimslim 是一款免费的开源命令行工具通过关闭 iOS 模拟器中不必要的后台守护进程实现 iOS 模拟器内存优化把单个模拟器内存从约 4 GB 降到约 0.9 GB约 4 倍让同一台 Mac 能运行更多模拟器。本文带你逐一搞懂 simslim 的 12 大核心命令从最核心的on瘦身命令到measure内存测量命令完整掌握从瘦身、验证到测量、磁盘清理的全流程。为什么 iOS 模拟器需要内存优化刚启动的 iOS 模拟器默认会拉起约 180 个后台服务Siri、Spotlight 索引、照片分析、iCloud 同步、News、壁纸海报……而当你拿模拟器做开发、UI 自动化测试或 CI 时这些服务几乎毫无用处。simslim 通过把它们精准关闭换来可观的内存释放指标原始模拟器Stock瘦身后的模拟器Slim进程数25870内存占用4.0 GB0.9 GB数据来自 M1 Pro / 16 GB 的实测内存口径为phys_footprint与活动监视器一致计入了压缩与交换页。同一台笔记本上模拟器数量从寥寥几台变成满满一屏快速参考12 大核心命令一览表#命令一句话说明1simslim list查看所有模拟器及瘦身状态2simslim profiles查看瘦身会关闭的服务分类3simslim status查看单个模拟器的瘦身进度4simslim on⭐ 一键给模拟器瘦身核心命令5simslim off恢复模拟器为原始状态6simslim verify校验模拟器是否严格匹配配置文件7simslim doctor检查测试所需功能是否仍可用8simslim measure测量已启动模拟器的内存占用9simslim top实时舰队监控RAM/CPU/进程10simslim size查看模拟器磁盘占用总量11simslim disk-plan只读生成磁盘清理方案12simslim disk-clean执行磁盘清理永久删除 第一组摸清现状1.list—— 查看模拟器清单与瘦身状态最简单的起步命令列出所有模拟器、系统版本与瘦身状态simslim list # 全部模拟器 simslim list --booted # 只看已启动的已启动的模拟器会直接显示booted · 170/170 slim这类标签一眼看出哪些已经瘦身。所有只读命令都支持--json方便接入自己的脚本。2.profiles—— 查看瘦身会关闭哪些服务瘦身按分类category进行共 15 个分类、约 170 个守护进程。先了解会关什么再决定关哪些simslim profiles # 列出全部分类 simslim profiles siri # 查看 siri 分类里的守护进程每个分类都标注了守护进程数量、估算内存如widgets约 675 MB以及关闭后的影响Downside。例如search分类会关掉 Spotlight关闭后系统搜索将无结果。完整的内存测量方法见 docs/category-memory.md。3.status—— 查看单个模拟器的瘦身状态status统计 simslim 托管的 launchd 标签的禁用情况回答这个模拟器瘦了多少simslim status udid # udid: 170/170 managed launchd labels disabled (slim)输出会给出stock/partially slim/slim三种判定。注意它统计的是受管标签而非实时进程数实时内存请看measure。对于 iOS 17.x / 18.3 这类无法持久化覆盖的运行时status会明确提示下次重启后状态会回退。⚡ 第二组瘦身核心操作4.on—— 一键瘦身模拟器最核心命令simslim 的灵魂命令。它会持久化写入launchctl disable覆盖项并重启模拟器之后每次开机都自动以瘦身态启动simslim on udid常用参数组合simslim on udid --except search # 保留 Spotlight 搜索 simslim on udid --keep com.apple.apsd # 保留推送通知守护进程 simslim on udid --profile ci.json # 应用一份提交的 JSON 配置文件 simslim on udid --no-reboot # 不重启只对当前启动会话生效三个实用细节幂等已是目标状态时只读一次即返回不重启、不空跑。慢速 CI 会超时用全局--boot-timeout 15m或环境变量SIMSLIM_BOOT_TIMEOUT放宽 10 分钟总时限。配置文件可提交进仓库ci.json和dev.json可以为不同场景定义不同瘦身策略--profile与--except/--keep互斥拼写错误会被显式拒绝fail loudly。{ name: ci, description: UI test runs, except: [search, store], keep: [com.apple.apsd] }5.off—— 恢复模拟器为原始状态瘦身是完全可逆的。off清除所有禁用覆盖项并重启模拟器回到完整的原始服务状态simslim off udid实现逻辑见 slim.go覆盖项只写进该模拟器自己的 launchd 数据库你的 Mac 和其他模拟器完全不受影响。️ 第三组验证与体检6.verify—— 校验模拟器是否匹配目标配置禁用覆盖是每个模拟器各自的状态悄悄丢失的风险真实存在删除重建设备、换用新 runtime 都会让它默默回到原始状态。verify把已启动模拟器的覆盖项与配置逐一比对发现漂移就以非零码退出并列出差异simslim verify udid --profile ci.json || simslim on udid --profile ci.json这一行就能做到发现漂移 → 自动修复非常适合放进 CI 脚本。7.doctor—— 检查测试所需功能是否完好瘦身是有意关功能所以测试套件需要一种方式确认我依赖的功能没被误关。doctor检查指定特性并给出结论simslim doctor udid --requires push,storekit,universal-links simslim doctor --list # 查看所有可检查的特性输出示例udid: 2/3 required features OK ok push ok universal-links BROKEN storekit — com.apple.storekitd disabled特性粒度比瘦身分类更细一个特性只映射支撑该能力的守护进程天然适合作为 CI 前置检查。 第四组内存测量与监控8.measure—— 测量模拟器的真实内存占用measure遍历该模拟器launchd_sim下的所有进程累加phys_footprint——这正是活动监视器显示的、决定能塞下多少模拟器的数字simslim measure udid # udid: 70 processes, 0.90 GB memory footprint (phys_footprint) 注意区分status回答瘦了多少个标签measure回答实际占了多少内存。瘦身前后各测一次收益一目了然。9.top—— 实时舰队监控终端里的活动监视器实时显示所有已启动模拟器的 RAM、CPU 与进程数按回车可钻取到单台模拟器的逐守护进程占用simslim top # 全队监控 simslim top udid # 直接进入单台模拟器的进程明细管道或非终端环境下会自动降级为一次性静态快照--json则输出机器可读快照。 第五组磁盘管理内存之外模拟器还会在磁盘上不断积累缓存、日志和临时文件。磁盘清理与服务瘦身相互独立且不可逆因此设计上先规划、后执行10.size—— 查看模拟器磁盘占用总量simslim size udid # udid: 5.2 GB on disk11.disk-plan—— 只读的磁盘清理方案不删除任何内容只测量可回收空间并给出只读的存储分布已装应用、文档、应用数据、用户媒体——这些持久数据永不参与清理simslim disk-plan udid # udid: 1.4 GB currently cleanable # caches 408 MB # logs 177 MB # temporary 820 MB12.disk-clean—— 执行磁盘清理永久删除确认方案后才动手。只清理白名单内的每设备目录且必须显式传--confirm否则会拒绝执行simslim disk-clean --categories caches,logs,temporary --confirm udid⚠️ 内置应用与核心系统语言资源属于多个模拟器共享的签名 iOS runtimesimslim 永远不碰它们。安全模型与恢复行为详见 docs/disk-cleanup.md。推荐工作流日常与 CI 这样用日常开发——三句话搞定一台瘦身模拟器simslim list # 找到目标模拟器 simslim on udid --except search # 瘦身保留搜索 simslim measure udid # 验收内存收益CI 流水线——可复现 自愈simslim verify udid --profile ci.json || simslim on udid --profile ci.json simslim doctor udid --requires push,storekit simslim measure udid并行测试克隆——xcodebuild的并行测试克隆每次都是原始状态可用simslim watch --except web,store 在后台守护发现新克隆启动即自动瘦身。相关资料项目说明与完整用法README.md分类内存估算方法docs/category-memory.md磁盘清理安全模型docs/disk-cleanup.md命令入口与参数定义cmd/simslim/main.go瘦身核心实现slim.go功能feature定义features.gosimslim 仅支持 macOS依赖 Xcode 的xcrun simctl且只在你指定的那一个模拟器上生效——瘦身可逆、磁盘清理谨慎、核心服务从不触碰放心用它把 Mac 的模拟器容量拉满吧。【免费下载链接】simslimRun more iOS simulators on one Mac by disabling background daemons a simulator doesnt need项目地址: https://gitcode.com/gh_mirrors/si/simslim创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑