kernel_task
简要回答
kernel_task是macOS内核在活动监视器中显示的样子。它的任务之一是管理CPU温度:处理器过热时,kernel_task会占用CPU时间,让最耗CPU的进程能用的时间变少。
kernel_task不是App,也不是恶意软件。它是macOS的核心,出现在进程列表中,是为了让你看到内核本身占用的CPU时间和内存。少量、稳定的CPU占用是正常的。
kernel_task的CPU占用突然大涨,通常是对发热的反应,而不是发热的原因。Apple称之为一种降温措施:kernel_task让高强度占用CPU的进程更难用到CPU,温度降下来后它会自行退让。
kernel_task为什么占用这么多CPU
CPU温度过高时,macOS会限制其他进程能得到的处理器时间。在活动监视器中,这表现为kernel_task占了很大一部分CPU。即使你摸着机身并不热,对处理器来说Mac也可能已经过热了,同时你可能会听到风扇转速加快。
所以真正的问题是:是什么让CPU变热的?通常是另一个App或进程在满负荷工作,有时再加上房间闷热、笔记本电脑放在柔软的表面上,或通风口被挡住。
怎样让它降下来
在活动监视器中打开“CPU”标签页,按“% CPU”排序。不用管kernel_task,看它下面的是什么。如果排在前面的是你不需要的App,就退出它。如果退不掉,就用“强制退出”。
然后给Mac降温的空间:保持通风口畅通,放在坚硬平整的表面上使用,避免阳光直射或闷热的房间。温度一降,kernel_task就会回落。
为什么无法退出kernel_task
kernel_task就是操作系统本身,没有什么可退出的。活动监视器不会停止它,想办法绕过去只会让整台Mac崩溃。应该去处理发热和那些忙碌的进程。
如何找出让Mac发热的App
kernel_task是应对措施,所以真正有用的是找出它在应对什么。活动监视器只需几步就能告诉你。
- 从“应用程序”→“实用工具”中打开活动监视器,或者用“聚焦”搜索它。
- 点按“CPU”标签页,然后选取“显示”>“所有进程”,把后台进程也包括进来。
- 点按“% CPU”列标题,直到最高的数值排在最上面。
- 跳过kernel_task,看接下来的几行。一段时间以来一直排在前面的App或进程,很可能就是发热的来源。
- 选取“窗口”>“CPU历史记录”,看看负载是持续的还是一阵一阵的。持续不断的高负载,指向的是一个从不歇息的进程。
- 退出你找到的App,然后在接下来的几分钟里观察kernel_task。随着CPU降温,它应该会回落。
kernel_task的正常占用与异常情况
正常:kernel_task在CPU列表中排得靠后,占比小而稳定,在导出、构建或玩游戏等繁重工作时会短暂上升。它的内存数值也比大多数App大,因为那是操作系统本身占用的内存,这在意料之中。
值得检查:你只是在做轻度工作,kernel_task却长时间排在CPU列表前面,风扇很响,一切都感觉很慢。这种情况说明CPU在发热,而原因你还没有找到。
- 某个App或后台进程让CPU一直很忙,例如卡住的浏览器标签页、同步工具,或一次一直没结束的构建。
- 通风被挡住,例如笔记本电脑放在床上、靠垫上或腿上。
- 房间很热,或者阳光直射在Mac上。
- 带风扇的旧款Mac通风口积了灰尘。
- 耗时很长的繁重任务,例如导出视频或编译,只是需要时间来完成。
对kernel_task不该做的事
不要试图强制退出它,也不要照着那些教你停用系统完整性保护或移动系统文件、好让kernel_task不再降频的教程去做。这些做法会削弱Mac的安全性,而且就算奏效,也只是拿掉了防止CPU过热的保护措施。
也不要凭某一刻下判断。做大型任务时出现一次高读数是正常的。要看几分钟内的趋势,以及同一时间还有什么在忙。
常见问题
kernel_task是病毒吗?
不是。kernel_task是macOS内核,也就是操作系统的核心。每台Mac都在运行它。
kernel_task为什么占用这么多CPU?
最常见的原因是CPU温度过高。macOS用kernel_task把处理器时间从忙碌的进程那里拿走,直到温度降下来,所以要找的是另一个正在满负荷工作的App。
可以结束kernel_task吗?
不可以。它是内核,无法退出。退出忙碌的App,让Mac降温,kernel_task自然会少占CPU。
kernel_task为什么占用这么多内存?
kernel_task的“内存”数值是macOS本身(包括驱动程序)使用的内存。数值大是正常的,退出任何东西都无法降低它。要判断Mac是否内存不足,请看“内存”标签页中的“内存压力”图表。
kernel_task占用很高,说明我的Mac坏了吗?
不是。它通常说明CPU在发热,而macOS在保护它。如果在轻度使用、通风良好且没有忙碌App的情况下也出现这种情况,请联系Apple支持检查Mac。
为什么Mac闲置时kernel_task还在占用CPU?
找一找还在工作的后台进程,例如索引、备份或同步,你没在用Mac时,它们也可能让CPU保持温热。在活动监视器中选取“显示”>“所有进程”,让这些进程出现在列表中。
相关条目
分步指南:Mac风扇为什么这么吵。
想找比活动监视器更好的工具?请看Mac上最好用的活动监视器替代品,或者浏览术语表中的所有条目。