“取样进程”是对单个进程进行约3秒的实时行为快照,用于定位卡顿、高CPU或异常等待的函数级原因;需在活动监视器中选中目标进程后点击齿轮图标或按Command+Y启动,结果在TextEdit中打开,重点关注调用树、线程状态、CPU时间分布及I/O线索。
活动监视器里的“取样进程”不是生成常规报表,而是对单个进程做约3秒的实时行为快照,核心价值在于揭示卡顿、高cpu或异常等待背后的函数级原因。
怎么快速启动一次有效采样
先打开活动监视器(Command + 空格搜“活动监视器”),切换到“所有进程”或按“% CPU”排序找出目标进程。选中它后,点击窗口右上角的齿轮图标(macOS Sequoia 及更新版),选择“取样进程”。也可以右键进程选“取样”,或直接按 Command + Y。系统会自动采集3秒左右,完成后报告在 TextEdit 中打开。
报告里真正要盯住的关键信息
别被满屏文本吓住,重点关注这几块:
macOS 微信消息自动化工具。通过 GUI 自动化实现:发送消息给指定联系人、读取聊天内容、监控新消息。适用于需要自动化微信操作的场景,如定时发送、批量回复、消息备份等。依赖 peekaboo 进行屏幕截图和 UI 交互。仅支持 macOS。开源地址:https://github.com/chairmanmia...
- Call Tree(调用树):默认展开,顶部函数就是最耗资源的入口;反复出现在多个线程顶部的函数(比如 objc_msgSend、CFNetwork 或 SSL_do_handshake)大概率是瓶颈
- 线程状态:看哪些线程标着 “Running”,哪些卡在 “Sleeping” 或 “Waiting”;大量线程停在 __psynch_cvwait 或 mach_msg_trap,说明在等锁、I/O 或网络响应
- CPU 时间分布:区分用户态(你的代码)和系统态(内核操作);如果系统态占比高,可能是频繁系统调用、文件读写或驱动问题
- 内存与 I/O 线索:报告底部有页面错误次数、文件句柄数;若 readv/writev/fdatasync 频繁出现,结合磁盘标签页确认是否真有 I/O 压力
让采样结果更准、更有用的操作要点
单次点击容易抓偏,配合这些动作才靠谱:
- 在进程明显卡顿、界面无响应、或 CPU 突然飙高时立刻采样,别等它回落
- 对同一进程间隔几秒做2–3次采样,比对哪些调用路径稳定高频出现——稳定即真实瓶颈
- 采样前关闭无关应用(尤其浏览器多标签、iCloud 同步、云盘客户端),减少干扰线程
- 若目标进程刚启动就卡住,可在终端先运行它,再切回活动监视器快速选中并取样
后续怎么用这份报告
报告是纯文本,支持复制、搜索关键词(如 “wait”、“SSL”、“lock”、“fsync”)。需要保存就点「文件 → 存储报告为…」,建议用时间戳命名,例如 Safari_20260707_0935.sample。它可被 Instruments 打开做深度分析,也可直接粘贴给开发者或 Apple 支持——附一句当时做了什么操作(比如“点击邮件附件后 CPU 跳至 95%,随即采样”)就足够定位问题。


















