关于kernel_task占用过高CPU导致Mac风扇狂转系统卡顿的最终极解决方法

2019/1/31 posted in  linux

遇到了同样的问题,按照下面的方法解决。奇怪的是最后也没有找到具体的原因,后面如果重装的时候可以看一下是不是因为操作系统问题。但是一直出现的是开机之后就出现了,并且在安全模式下也会出现,所以有可能确实是硬件问题。但如果是下面说的温感问题,但是从系统所看到的所有温度内容却又都是好的,所以非常奇怪。

我滴电脑是2013年版滴MacBook Air,用了四年多的时候突然某一天不知道为什么就开始风扇狂转。一开始只是偶尔转,开机久了就会停止,后来一发不可收拾从头响到尾并且系统及其卡顿。由于毕业了也就拿它看看视频,就没管他,但最近开始重拾手绘板没事画画图,终于忍不了啦!!!!

进入正题!

一开始我只发现风扇转的厉害,网上已经有了很多关于这个问题的解决方法,重置SMC、PRAM之类的我也都试过了,对我的电脑都不适用(当然你还是应该先试一下这个方法万一立马见效就不用看后面的啦,这部分内容网上有详解,我就不说啦)。

打开活动监视器我发现kernel_task这个系统进程CPU高达600%!我自查了下电脑觉得系统各方面应该都没什么问题吧,大概就是温控传感器坏掉了?如果拿去修好像是要换主板什么的,对于五年多的老机器我可不想在它身上花大价钱,就决定自己瞎干。

这部分内容网上有但我还是讲一下。打开关于本机—系统报告,记住型号标识符(我的是MacBookAir6,2)。打开finder—磁盘—系统—资源库—Extensions,找到IOPlatformPluginFamily.kext,右键它显示包内容,打开contents—pluglns,找到ACPI_SMC_PlatformPlugin.kext,右键它显示包内容,打开contents—Resources,找到和你型号相同的.plist(我的是MacBook Air6,2),删掉或者把它移走到随便哪个目录底下。这时候如果你的电脑如果不让你删除,那要多做一件事啦。那就是关机,按住command+R,同时开机进入恢复模式,打开终端,输入命令csrutil disable。然后重启再做上面的删除.plist的动作,然后重启就结束啦。

但是!我知道你要说但是!对接下来才是重点!那就是,我的电脑里根本没有跟我的型号一致的.plist!!!你也是这样对不对!!

以下是我裸翻了一篇国外大神写的文章而得来的方法,针对并没有一致的.plist的情况。首先为了后面不麻烦,还是先跟上面一样进入恢复模式,输入csrutil disable然后重启。接下来和之前一样,打开finder—磁盘—系统—资源库—Extensions,找到IOPlatformPluginFamily.kext,拖一份到其他目录下(我是在资源库底下新建了文件夹,把.kext拷贝在这里),然后把原来那个IOPlatformPluginFamily.text整个删除了。好啦!重启!电脑虽然还是呼呼响但是运行超级顺畅!跟新买来一样嘻嘻。再打开活动监视器,看到kerdel_task只占用一丢丢CPU啦!到这里呢电脑就可以跟往常一样顺畅运行啦!恭喜你!

然而,这风扇呼呼响哦,我还是听的很烦恼。于是下了一个风扇转速控制器,我下的是Macs fan control,这个网上很好找的哈。可以根据CPU温度半自动控制风扇的转速,这样呼呼响也被治好啦!恭喜你!

关于原理我随便讲一点嘻嘻毕竟我完完全全对电脑没什么了解。我也不知道为什么我们的电脑里没有那个型号一致的.plist,感觉好迷啊,完全不懂。总之呢就大概是温控传感器坏了,让系统误以为温度很高要一直散热,所以这个叫kernel_task的系统进程呢就一直占用大量CPU叫风扇狂转散热。现在大概就是移走了那个文件,所以系统不再管你的风扇了,所以风扇就自己一个劲转啊转,这样虽然系统正常了但又吵又容易损害风扇(不过风扇很便宜而且也不容易损坏,所以主要是太吵),如果你不怕吵就可以到此为止。但是再下一个风扇转速控制呢可以让它不那么吵,而且也能半自动控制散热,很OK啦。

原味可以参考

https://zhuanlan.zhihu.com/p/47283570