几个 AI agent 一起跑,风扇开始起飞。你不需要「谁在占用 CPU」这种含糊答案 —— 你要知道是哪个、跑了多久、还能不能救。
面板 · 设置 · 资源看板
直接显示 52°,按温度变色。不用打开任何窗口就知道机器现在什么状态。
一个 agent 的 node / npm / 子进程合成一行。活动监视器里那十几个 node,在这里是一行。
把会话降到能效核,任务继续跑,只是不再抢满所有核心。随时恢复。
某个会话连续 5 分钟超 200% CPU,行内标红并显示已经烫了多久。
谁占着 :5173。终端关了但进程还在的标「残留」,可一键关掉。
1h / 24h / 7d / 30d 窗口,看谁累计吃的 CPU 最多、温度什么时候飙起来。
8 个 CPU-bound 线程超订 6 个能效核。完整方法见 POC 报告。
brew install --cask luogao/tap/manatee
一条命令:Homebrew 会自动 tap,cask 里已经去掉了 quarantine,装完直接能用。 也可以到 Releases 下载 zip。
启动后菜单栏出现温度。点一下展开面板,看到所有 agent 会话和 CPU。
某一行数字太吓人,点它右边的降温按钮;想全降就点底部「全部降温」。
忙完了点「恢复」,进程回到正常调度,温度回到基线。
会变慢,不会出错。降的是调度级别(QoS),不是暂停进程也不是限流。进程照常读写文件、照常输出结果,只是拿到的 CPU 少了、跑在能效核上了。对「等结果就行」的任务,慢 30% 基本无感。
能效核调度(P/E core)是 Apple Silicon 的架构特性,Intel Mac 上没有对应的机制,降 QoS 不会把线程挪到特定核心。
读芯片温度用了 IOHIDEventSystemClient 私有 API。这是免 sudo 读温度的唯一可靠方式,但苹果不允许私有 API 上架。
不会。纯本地运行,唯一走网络的地方是探测本机端口(127.0.0.1)。看板数据只写在你自己的硬盘上。
不能。只能操作同用户的进程,权限不够。
海牛一天要吃自己体重十分之一的水草,消化极慢,整天慢吞吞地嚼,从不冲刺。这个工具做的事也一样:不让你停下来,只是让你慢一点。