Mac 发烫、MacBook 风扇狂转:怎么找出背后是哪个进程在加热

Mac 发烫、MacBook 风扇狂转:怎么找出背后是哪个进程在加热

风扇转到飞机起飞的尖啸,键盘区烫到搁手腕都不舒服,电池以两倍速度往下掉。你没刻意启动任何重型应用——至少没有故意启动。Mac 上有什么东西在干真活,CPU 或者 GPU 在升温,系统管理控制器(SMC)正把风扇拉高来把温度压在范围内。风扇是症状,进程才是原因。 这篇文章讲的是怎么找到那个进程,而不是怎么让风扇闭嘴。

快速结论

Mac 发烫、风扇狂转,是因为一个或多个进程长时间维持高 CPU 或 GPU 负载。Apple Silicon Mac(M1/M2/M3/M4)比 Intel Mac 凉,但负载够重时一样会降频,有风扇的机型一样会把风扇拉高(MacBook Air 无风扇,只会安静降频)。风扇没有坏,那种只是把风扇曲线压低的”风扇控制工具”其实是在掩盖真问题(而且会缩短硬件寿命)。

最快的诊断路径:

打开活动监视器(/应用程序/实用工具/活动监视器.app)→ CPU 标签 → 点 %CPU 列表头降序。任何持续在 80% 以上超过一两分钟的进程都是热源——记下它的名字,以及它是用户应用还是系统进程。

在 Mac 笔记本上,切到 能耗 标签,看 过去 12 小时 列——Apple 把这个列的定义为该应用过去 12 小时(或自开机至今、取较短者)的平均能耗影响。值高的应用就是在这个时间窗里一直在加热你 Mac 的那些,即使此刻它们看上去并不热。能耗标签和这一列只在 Mac 笔记本上显示。

如果活动监视器看不出明显问题但风扇还在响,负载很可能在 GPU 上,或者来自一阵短促爆发——还没等你打开工具就过去了。这正是 ProcXray 用历史数据弥补活动监视器盲区的场景,详见下文 Step 3。

最常见的元凶,大致按现实中出现的频率排:

浏览器某个标签页或扩展在烧 CPU(一个跑飞的脚本、一个泄漏的 WebGL canvas、一个行为异常的广告)——参考 Mac 上 Chrome Helper 吃内存 怎么把一个 Helper 反查回标签页。

WindowServer 因为某个图形重型应用或某个卡住的显示配置被钉在高 CPU——参考 Mac 上 WindowServer 高 CPU。

mds / mds_stores 在大量文件变动或刚恢复完备份后重建 Spotlight 索引——参考 Mac 上 mds_stores 高 CPU。

photoanalysisd 在刚同步过的”照片”库里跑媒体分析(人脸、场景、物体识别)。

kernel_task 占用大量 CPU——这其实是 macOS 故意在限制热量,不是它自己在制造热量。真正的原因在别处(常常是某个东西在加热 SoC,或者充电器/USB-C 配件出问题)。

一个你忘记的后台任务:HandBrake 在转码、虚拟机在跑、Time Machine 在备份、编译任务、Docker 守护进程、另一个 Spaces 里的 Zoom 共享屏幕。

接下来这篇文章主要解决”原因从一眼活动监视器看不出来”的情况。

风扇为什么转:热量是症状,不是根因

Mac 风扇由 Intel Mac 上的 SMC(系统管理控制器)和 Apple Silicon 上等价的固件控制。风扇曲线是被温度传感器驱动的,不是直接被 CPU 使用率驱动——但两者高度相关,因为现代笔记本里持续的 CPU 或 GPU 负载是热量的主要来源。链条是:

某个进程跑得很热 → CPU 或 GPU 封装温度上升 → SMC 提高风扇转速,让更多空气流过散热片 → 如果温度还在涨,SoC 降频(自己放慢自己)→ 极端情况下系统直接关机。

由此可以推出三点:

风扇转就是 Mac 在正常工作。 用第三方风扇控制工具压住风扇,只会让降频更早触发,长期还可能伤硬件。

看不到明显 CPU 负载却很热,几乎一定是 GPU 在干活、短促爆发负载,或者外部热源。 活动监视器的默认视图对 GPU 用量显示得不好;一个进程每分钟烧 20 秒 100%,正好在你看的时候不烧,那它就永远不会以一个稳定的高数字出现在你眼前。

kernel_task 高 CPU 是热保护系统在干活。 macOS 故意在 kernel_task 上塞合成负载,把 CPU 时间从重型进程那里抢走,从而降低热量。看到 kernel_task 钉得很高,要问的是”是什么在加热 SoC?“——而不是”为什么 kernel_task 这么忙?“。常见答案:发热的充电器、把电源控制器搞糊涂的 USB-C 配件、环境温度高,或者另一个早已把温度推过安全阈值的重型进程。

在没有风扇的 Apple Silicon Mac(MacBook Air M1/M2/M3)上,同样的链条以降频收尾,而不是风扇噪声——Mac 会安静地慢下来。但诊断完全一样:找出烧得最猛的那个进程。

哪些情况会让 Mac 发烫

七种常见原因,大致按出现频率排:

1. 浏览器标签页或扩展跑飞

在普通用户的 Mac 上,这是迄今为止最常见的原因。一个标签页里跑飞的 JavaScript 循环、一个泄漏的 WebGL canvas、一段被软件解码(因为硬件解码失败而回退)的视频、一段恶意广告,都能让一个 CPU 核心持续跑在 100%。现代浏览器把标签页分到独立的 Helper 进程里,所以在活动监视器里看到的是 Google Chrome Helper (Renderer)、Safari Web Content、Microsoft Edge Helper 等——不是 Chrome 或 Safari 本身。参考 Mac 上 Chrome Helper 吃内存 学怎么把 Helper 反查回标签页或扩展。

2. WindowServer 在一条出问题的图形路径上空转

WindowServer 负责合成你屏幕上看到的一切。当一个图形重型应用、一个卡住的动画、一个外接显示器的奇怪配置,或者一条有 bug 的 GPU 驱动路径让它反复重做工作时,WindowServer 能把一两个核心钉满,同时 GPU 一直在画。机身发烫,但表面上没哪个用户应用看起来特别忙。完整排查路径见 Mac 上 WindowServer 高 CPU。

3. Spotlight 重新索引(mds、mds_stores、mdworker)

macOS 升级、大批文件搬动、刚恢复完 Time Machine、刚挂载一块新外接盘之后,Spotlight 会重建索引。涉及的进程是 mds、mds_stores、mdworker、mdworker_shared,每一个都可能烧掉一个或多个 CPU 核心几十分钟,大盘上偶尔几个小时。系统发烫、风扇转,工作是真的但是临时的。参考 Mac 上 mds_stores 高 CPU。

4. 照片库分析(photoanalysisd、mediaanalysisd)

导入或同步大量照片/视频之后,macOS 在后台跑人脸识别、场景分类、物体检测。相关进程 photoanalysisd 和 mediaanalysisd 被设计成在 Mac 正在被使用时降低自己、在 Mac 空闲时(包括插电闲置)猛跑。如果你发现 Mac 半夜或者你离开的时候在发烫,这是个高嫌疑原因。

5. 一个被忘掉的前台任务

多 Spaces 或多外接屏幕环境下很容易漏掉:另一个 Space 里 HandBrake 在转码、Docker 跑着一个失控的容器、虚拟机、Xcode 在构建、cargo build --release、Final Cut Pro 在导出、Zoom 或 Teams 通话在共享高分辨率屏幕。这些都不是 bug——它们是真活——但仍然是热量的来源。

6. 发热的充电器、不靠谱的 USB-C 配件、环境热

热量不一定来自 SoC 内部。一个出问题的电源适配器、效率低的 USB-C hub、扩展坞、损坏的线缆、阳光直射顶盖,或者在软表面(床、沙发)上使用堵住底部出风口,都会拉高机身温度。SMC 的反应跟 CPU 热是一模一样的:转风扇、提高 kernel_task。症状:kernel_task CPU 很高,但找不到明显的其他罪魁进程。

7. 真硬件问题:积灰、干涸的硅脂、风扇老化

对于用了三四年以上的 Mac,散热片里积灰、出厂硅脂老化,两件事都会降低散热系统的效率。以前安静处理的工作开始让风扇响起来。轴承出问题的风扇也可能为了弥补风量下降而转得更快、发出可听见的杂音。这是最后才该假设的——绝大多数”我 Mac 发烫”的案例是软件问题——但确实会发生。

怎么找到真正的元凶

Step 1:活动监视器——CPU + 能耗标签,按这个顺序

/应用程序/实用工具/活动监视器.app。打开 CPU 标签,按 %CPU 降序,然后让它摆个 60–90 秒,看哪些进程一直在涨。不要只看一眼快照——热量来自持续负载,所以你要看的是”一两分钟里一直高的是谁”,不是某一瞬间排第一的是谁。

关于百分比的提醒:活动监视器里 100% CPU 意思是相当于一整个 CPU 核心。多核 Mac 上,一个进程报到远超 100% 是正常的——比如 380% 对一个用四个核心并行构建的任务来说很正常,不是误读。

在 Mac 笔记本上,切到 能耗 标签。过去 12 小时 列显示的是 Apple 所谓”过去 12 小时(或自开机至今、取较短者)的平均能耗影响”——这是找出”一小时前在加热 Mac、现在没在”的那个应用的地方。它经常能抓到 CPU 标签错过的元凶:曾短促烧 CPU 几十次的聊天客户端、通话中走 GPU 重路径的视频会议应用、半夜跑的索引后台任务。(能耗标签只在 Mac 笔记本上显示。)

如果某个进程名字看起来陌生(bird、cloudd、accountsd、assistantd、siriknowledged、photoanalysisd、mediaanalysisd),它几乎一定是 Apple 系统后台守护进程在干后台活——把名字带 “macOS” 一起搜一下再下”是不是恶意软件”的判断。

Step 2:用 powermetrics 看更完整的画面(终端)

powermetrics 是个内置命令行工具,会按很高频率采样报告每个任务(task)的 CPU 和能耗,外加整体的 CPU 和 GPU 功率,Intel Mac 上还有封装温度、Apple Silicon 上有 SoC 功率。需要 sudo。一行有用的命令:

sudo powermetrics --samplers cpu_power,gpu_power,tasks -i 5000 -n 6

这会打印 6 次 5 秒采样:tasks 采样器给出按任务的 CPU 和能耗,gpu_power 给出整机的 GPU 功率(它不按进程拆 GPU 用量)。能拿到的信号是”现在 GPU 在烧,同时这些是按 CPU/能耗最重的任务”——适合发现 WebGL 标签页或硬件加速视频在重压 GPU 但 CPU 看着不高的情况,但你仍然没法从它读出具体是哪个进程在用 GPU。

Apple Silicon 上还可以试 sudo powermetrics --samplers ane_power 看 Apple 神经网络引擎用量(ML 或照片分析是元凶的时候有用)。

Step 3:ProcXray 看历史数据和按进程的 GPU/功率

活动监视器和 powermetrics 加起来还是解决不了两个场景:

你开会那十分钟里风扇一直在叫,你检查的时候一切都已经平静了。

Mac 只是间歇性发烫——一阵一阵的,你总是错过活跃窗口。

这两个场景都需要按进程的历史数据,但内置工具谁都不存。ProcXray 就是围绕这件事造的:

资源历史保存几小时内每个进程的 CPU、GPU、内存、功率,你可以回滚到风扇最响的那一刻,看那一刻哪个进程最热。这是抓住间歇性热源的唯一可靠办法。

系统仪表盘把整体 CPU + GPU + 功率并排画出来,让你不用手对日志就能看到 GPU 飙升和风扇拉满的时间关系。

按进程的 GPU 和功率列按当前 GPU 用量和功耗排序——不只是 CPU%。一个走硬件加速的 WebGL 标签页或视频转码常常 CPU 不高但 GPU 和功耗都不低,而 macOS 内置工具完全不暴露这种按进程的视角。

命令行视图显示每个进程的完整启动参数——分辨 Helper 子类型、识别哪个渲染器属于哪个扩展、查看某个后台守护进程是用什么参数启动的,都用得上。

窗口取景器识别任何可见窗口的归属进程,遇到”某个 app 在发热但 Dock 或菜单栏看不出是谁”时有用。

关于内置工具的盲区有哪些,更详细的对比见 ProcXray vs 活动监视器。

Step 4:排除外部原因

如果没有明显的进程主导而且 kernel_task 是最大的 CPU 用户:

一个一个拔掉外设——USB-C hub、外接显示器、扩展坞、充电器——每拔一个就观察 kernel_task 是不是在一两分钟内冷静下来。充电器和扩展坞值得最先试,因为排除起来很快。

把 Mac 挪到平整硬表面上,把出风口(多数 MacBook 在转轴后侧,老款在底部)周围的遮挡物清掉。床上、沙发上使用通常会让机身温度升高 5–10°C。

检查环境温度。 35°C 以上环境温度下,即使是轻负载 Mac 也会转风扇;Apple 公布的运行温度范围上限是 35°C。

如果 kernel_task 只在 Mac 接上充电器的时候才高,试一个不同的充电器或线缆——出问题的电源适配器或非 Apple 认证的配件,可以在其他症状出现之前先以热问题的形式表现出来。

分步修复

按顺序来,最便宜、最不打扰的先做。

1. 退出或重启那个进程

如果是用户应用——浏览器、构建工具、聊天客户端、视频编码器——退出它,看温度有没有降。如果同一个应用一启动又立刻发热,你就有了一个可复现的案例,可以提 bug 给厂商或者绕过它(比如关掉某个标签页、不打开某个文档、停用某个功能)。

如果是系统守护进程(mds、WindowServer、photoanalysisd),不要第一步就强杀——这些进程通常在干合理的、有限的活。等一等,或者去处理根因(让 Spotlight 索引完、让”照片”分析完、用 launchctl 重启相应子系统)。上面每个守护进程对应的链接文章会讲正确做法。

2. 关浏览器标签页 + 停用可疑扩展

如果元凶是浏览器 Helper,打开浏览器自带的任务管理器(Chrome / Edge / Arc / Brave 里窗口菜单 → 任务管理器)结束最重的标签页或扩展。完整映射流程见 Mac 上 Chrome Helper 吃内存。整体重启浏览器会重置每一个 Helper,常常比追单一标签页更快。

3. 让后台系统任务跑完,然后确认它们停了

Spotlight 索引、照片分析、Time Machine 备份、软件更新都是边跑边加热的有限后台工作。让 Mac 插电、打开盖、不动一两个小时(如果改动量大——新照片库、刚恢复的备份——可以放一晚),然后再看活动监视器。如果一整晚闲置之后这些进程还在发热,就当成异常去对应守护进程做单项排查。

4. 排除外部热源

挪到硬表面、清出风口、一个一个拔外设、换充电器和线。如果拔某个特定配件后温度在一两分钟内下来了,那就是答案。

5. 重置 SMC(仅 Intel Mac)或重启(Apple Silicon)

Intel Mac 上,SMC 重置可以修复”风扇控制器卡在高转速、跟实际温度脱钩”的情况。具体按键组合因机型而异——Apple 的 SMC 重置支持文章是权威:在 Intel Mac 上重置 SMC。Apple Silicon Mac 没有 SMC 重置;普通重启起同样作用。

6. 更新 macOS 和关键应用

历史上有好几个 macOS 版本带过 WindowServer、mds 或图形驱动的回归 bug,让部分用户出现发热问题,后续更新里修复了。Chrome、Slack、Zoom、Teams 也一样。如果发热问题正好在某次更新之后开始、又跟其他用户的反馈吻合,去看一下有没有后续更新。

7. 硬件维修:积灰、硅脂、风扇

如果软件这一路都试过了、Mac 又用了好几年,散热系统本身就是下一个假设。授权服务可以清散热片积灰、换干涸的硅脂、换出问题的风扇。这是个真修复,不是装饰性的——但它不该是你的第一步。

如果发热只是诸多症状之一,需要更广义的 Mac 性能排查,参考 怎么通过结束正确的进程修好运行变慢的 Mac。

FAQ

为什么我的 MacBook 风扇突然变得这么吵?

几乎都是因为某个进程产生了足够多的热量,SMC 需要更多气流来把温度控制住。风扇反应是对的,问题是哪个进程。在活动监视器 CPU 标签排个序看 60 秒,再看能耗标签的”过去 12 小时”列里最近在加热 Mac 的应用。

Mac 这么烫安全吗?

现代 Mac 设计成在损坏之前老早就降频——SoC 太热时它会自己慢下来,极端情况下系统直接关机。重型负载下短时间发烫是正常的。每天连续几个小时持续发烫会缩短电池寿命、长期可能影响其他部件,所以值得解决而不是忽略,但不是紧急事件。

我要不要装个风扇控制工具让 Mac 安静一点?

不要。压住风扇曲线、降低转速的工具是用噪声换更高的 SoC 温度,结果是降频更早触发(Mac 变慢)、长期可能缩短硬件寿命。去找出制造热量的进程修掉它,不要去压制散热反应。

为什么我 Mac 一发烫 kernel_task 就占那么多 CPU?

kernel_task 故意消耗 CPU 时间来阻止重型进程跑、来降热。Apple 在 关于 kernel_task 进程 里有正式说明。看到 kernel_task 高,原因在别处——常常是发热的充电器、不靠谱的 USB-C 配件、环境热,或者另一个早已把温度推过阈值的重型进程。

我的 MacBook Air 没风扇——为什么还是发烫?

无风扇的 MacBook Air(M1 及之后)靠机身被动散热和必要时降频处理热量。诊断流程完全一致:找出烧 CPU、GPU、功率最猛的进程。Mac 不发风扇噪声,只是安静地变慢。

macOS 上能看按进程的 GPU 使用率吗?

活动监视器的 窗口 → GPU 历史 显示整体 GPU 用量,但不按进程拆。powermetrics 能给出整机的 GPU 功率(gpu_power 采样器)和按任务的 CPU/能耗线索(tasks 采样器),但没有任何 macOS 内置工具给出稳定的按进程 GPU 视图。ProcXray 在进程树里直接显示按进程的 GPU 使用率,并保留历史。

资料来源

Apple 支持 — 关于 kernel_task 进程

Apple 支持 — 在 Intel Mac 上重置 SMC

Apple 支持 — Mac 笔记本电脑的工作环境和温度

Apple 支持 — 如何使用活动监视器

Mac 上 WindowServer 高 CPU

Mac 上 mds_stores 高 CPU

Mac 上 Chrome Helper 吃内存

ProcXray vs 活动监视器

如何在 macOS 上监控进程:开发者完整指南

免费下载 ProcXray → — 在一个视图里看按进程的 CPU、GPU 和功率,几小时历史让你能抓到你不在的时候加热你 Mac 的那个进程。macOS Sonoma+,Apple Silicon & Intel。

相关推荐

探讨宽带连接正常却无法上网的原因及解决方法
365国际彩票下载

探讨宽带连接正常却无法上网的原因及解决方法

📅 08-13 👁️ 7277
肖特基二极管怎么用+原理
365国际彩票下载

肖特基二极管怎么用+原理

📅 06-20 👁️ 4036
摩拜的押金多少,摩拜的押金多少钱
365国际彩票下载

摩拜的押金多少,摩拜的押金多少钱

📅 11-10 👁️ 2171