
大约一年多以前,正常使用的💻macbook pro(mid 2012)突然遇到这个问题,具体表现就是kernel_task进程从一开机开始就占用95%甚至100%的cpu资源(活动监视器里显示800%CPU左右),导致完全无法正常使用电脑。 首先想到的求助对象就是万能的搜索引擎,根据网上查询到的解释是因为电脑传感器检测到硬件或软件发生问题(比如🌡温度过高,没有🌡温度读数,S.M.A.R.T.支持失效等等),电脑无法继续正常工作,为了防止产生更大故障而强行增加cpu占用率(这是个假占用,实际上没有负载也不会发热)。
我猜想会不会是传感器坏了,毕竟这么多年的老电脑了,出点小毛病也很正常。但是在我送去官方认证的维修点检测后发现根本没有任何硬件上的问题(白花了一百多刀😟),之后系统也重装过数次(装系统过程也会极其缓慢,我都不知道自己是怎么熬过来的😂)重置SMC,重置电池,依然没有解决问题。
我不甘心,于是再去网上找办法,最后发现大部分帖子上的解决办法都是大同小异,通过删除x86PlatformPlugin.kext使得电脑能正常工作,但是删掉系统关键组件会导致电源管理失效,处理器没法正常变频,这种办法无异于饮鸩止渴(真香😀)。
前两天在搜索kernel_task的时候无意中发现了苹果官方的EFI和SMC更新网站,忽然有一种强烈的预感,有程序改动了EFI和SMC导致系统检测出问题,也就触发了大量占用系统进程的保护。 Apple官方EFI以及SMC固件更新网站(已归档停止更新)
https://support.apple.com/en-us/HT201518
不得不说苹果🍎把这个网站藏得太好了,外部入口几乎为零,除非你手动搜索或是借助搜索引擎。抱着死马当活马医的心态找到了mid 2012 MBP对应的SMC和EFI更新,下载安装重启,之后电脑就完全正常运行了,不需要移除任何系统文件。🎉 解决完问题后我就彻底懵逼了,这么普通的一个问题,居然折腾了我这么久时间。之前也有考虑过这个方向,但是用Clover装载EFI也没看出什么问题,从来没有听说过苹果还单独提供SMC更新的,一直以为是跟着系统一起更新的。 最后,经过一番排查筛选,罪魁祸首也被我找到了,就是那个监控系统信息的 istate menu,之前看网上评论就说这软件会修改系统文件,导致好多人即使重装系统也没法恢复系统风扇自动管理,现在总算是亲身体验了一把它的厉害。希望所有人都能吸取教训,尽量不要用这类软件(反正再怎么监控也是个大火炉),而风扇控制也有更好的替代品(Macs Fan Control)。如果非要用这个软件,有个机智一点的办法就是先装软件,然后再重新刷一遍EFI和SMC,这样就两全其美了。不过我这个问题应该也是个例,毕竟我让电脑吃灰了两年,然后直接安装最新版的istate menu,大概率是新旧SMC策略不同导致出错吧。
补充:上文提供的Apple官方EFI以及SMC固件更新网站已经过期被归档了,使用新版机型的同学可以自行在官网搜索EFI或者SMC应该能找到最新版的下载网页。
Updated 2017, Sep 3