可在活动监视器中对指定进程生成3秒级实时性能采样报告,用于分析线程调用栈、cpu/内存消耗及性能瓶颈;报告含进程信息、各线程调用栈、用户态/系统态耗时、内存分配热点等,并支持导出为.sample文件供instruments进一步分析。
可以直接在活动监视器中对指定进程生成3秒级实时性能采样报告,用于分析其内部行为、线程调用栈和资源消耗模式。
定位目标进程并启动采样
先确保目标进程正在运行,然后在活动监视器中完成以下操作:
- 在进程列表中点击选中该进程(如 Safari、Rectangle 或某个自定义应用)
- 点击顶部菜单栏的「系统诊断选项」弹出式菜单(macOS Sequoia 及更新版本中位于窗口右上角,图标为齿轮或三个点)
- 选择「取样进程」——此操作会立即对所选进程进行持续约3秒的深度采样
理解采样报告内容
采样完成后,系统会自动生成一份文本报告,包含以下关键信息:
- 进程名称、PID、启动时间与当前状态
- 各线程的调用栈(Call Stack),显示函数执行路径,便于识别卡顿或死循环源头
- CPU 时间分布:用户态 vs 系统态耗时占比
- 内存分配热点(若进程启用了符号调试信息,可看到具体方法名)
- 是否发生频繁上下文切换、页错误或锁竞争等性能瓶颈信号
保存与后续使用
报告以纯文本形式打开,支持复制、搜索和导出:
- 点击报告窗口左上角的「文件」→「存储报告为…」,保存为 .sample 文件(可被 Instruments 等专业工具进一步分析)
- 若需对比多次采样结果,建议为每次报告添加时间戳命名,例如 Rectangle_20260427_1815.sample
- 对开发中的 App,可将该报告与 Xcode 的「Product → Perform Action → Sample Executable」输出交叉验证,确认优化效果
适用场景与注意事项
该功能特别适合排查以下问题:
- 某个应用响应迟缓但 CPU 占用不高(采样可暴露阻塞 I/O 或定时器滥用)
- 后台进程悄悄升高能耗(查看调用栈中是否有 CGDisplayStream、AVCaptureSession 等高功耗模块)
- M 系列芯片上进程未适配 ARM64(采样中若大量出现 Rosetta 相关符号,说明运行在转译模式)
- 注意:采样期间进程不会被暂停,但会引入轻微负载;避免对实时音视频或金融交易类应用高频采样











