应先用活动监视器按%CPU降序排列并启用“所有进程,分层显示”,结合能耗与CPU历史记录交叉验证,再通过终端命令筛查高占用进程及可疑kext,最后检查LaunchAgents/LaunchDaemons中自启项。
识别并分析 macos 中占用高 cpu 的系统后台服务,关键不是“找全所有进程”,而是快速定位真正拖慢系统、持续发热或导致风扇狂转的异常服务。系统自带工具配合少量终端命令,就能高效完成排查。
用活动监视器看清真实负载来源
这是最直观的起点:
- 按 Command + 空格 搜索“活动监视器”并打开,切换到 CPU 标签页
- 点击 % CPU 列标题两次(第一次升序,第二次降序),让高占用进程排在最上面
- 顶部菜单栏 → 显示 → 所有进程,分层显示:这样能看清哪些是 Safari 或 Chrome 派生的 Helper 进程,哪些是系统级服务(如
mds_stores、sharingd、bird) - 右键列标题区域,勾选 用户 和 命令行:便于区分 root / _daemon 进程,以及是否调用了可疑脚本(如
osascript -e) - 重点关注名称含
kernel_task、sysmond、powerd、thermald或.kext的条目——它们代表内核级行为,但本身不一定是问题源,需结合上下文判断
区分“正在运行”和“开机自启”的服务
一个服务在活动监视器里出现,只说明它当前活跃;是否会在下次开机自动拉起,要看它的 launchd 配置:
- 用户级自启项藏在:
~/Library/LaunchAgents/ - 系统级自启项藏在:
/Library/LaunchDaemons/(需管理员权限) - 终端执行:
ls ~/Library/LaunchAgents/ /Library/LaunchDaemons/ | grep -i "ssl\|LV\|miner",快速筛查可疑 plist 文件 - 确认某个服务是否真在运行?终端输入:
launchctl list | grep com.example.service(替换为实际服务名);PID 不是 “-” 就表示已激活
用终端命令深挖隐藏源头
图形界面卡顿时,终端更可靠,也更适合发现 root 级或内核扩展类问题:
- 实时排序查高 CPU:
top -o cpu -s 3(每3秒刷新,按 CPU 降序) - 筛出 CPU 超 45% 的所有进程(含系统级):
sudo ps aux | awk '$3 > 45 {print $0}' - 检查非苹果签名的内核扩展(常见于旧杀软、USB 工具、虚拟机驱动):
kextstat | grep -v com.apple - 查看某服务的完整配置路径:
launchctl print gui/$(id -u)/com.apple.dock(把com.apple.dock替换为目标服务名)
交叉验证:别只看 CPU,还要看能耗和历史
单看瞬时 CPU 容易误判。有些程序(如视频编码)高占用是正常的;真正该警惕的是“CPU 高 + 能耗高 + 历史曲线异常”的组合:
- 切换到活动监视器的 能耗标签页,等 5–8 秒让数据加载完成
- 先按 能耗影响排序,再按 12 小时电力排序,找出同时在这两列都靠前的进程
- 菜单栏 → 窗口 → CPU 历史记录:观察过去几分钟是否有持续尖峰或平台式抬升,而非短暂脉冲
- 重启后立即打开活动监视器,对比空闲状态下“系统”占比是否仍偏高(排除用户应用干扰)


















