来这里找解决方案的童鞋,如果你的机器还没过保。
果断去找官修,忽略这篇文章!
心急的童鞋直接看目录,有传送门!但是仔细看文章可能有奇效!
最近博客更新进度严重滞后。。
因为我遭遇了一个无比水逆的6月,水逆到我怀疑人生。。
某个懂星座的妹纸算了下,6月海王星逆行天秤座。。
然后。。
基本上,我所有混饭吃的家伙都坏了一遍。。
先是相机,坏了LCD,折腾了快1k大洋;
没过几天,RMBP也出故障,我呆的这城市没有快修站,咨询了天才吧,大概得出了一个飙泪的维修金额;
如果把车都算是混饭的工具,那6月的最后一天也没放过我,报废了一个700大洋的轮胎。。
好了。。
6月终于过去了。。
我写写这段苦日子里的收获吧。。
6月中旬的某一天,RMBP其实活得好好的,她已经陪我过了34个月,期间各种用得爽快,高负荷运转毫无压力。
对比起windows系统来,简直可以用免维护来形容。
然后,我忽然想给她洗个澡。
去iFixit看了拆机步骤,逛了几个论坛的帖子借鉴下清灰经验,买了套工具就开始动手干活。
清灰过程是顺利的,拆解也没有什么难度,顺手换了硅胶,一路感叹苹果的做工精湛。(后来仔细思考,发现我在拆解过程中犯了低级且致命的错误!)
但是,合盖后问题就来了!!!
开机读条末端卡了一下,然后进入桌面,桌面摆放的图片文件缩略图显示缓慢,鼠标划过Dock栏的时候,图标放大有卡顿。
这个时候还没觉得问题大,以为是什么应用后台偶尔占一下资源而已。
渐渐地,风扇声越来越大,直到跟瀑布声一样!!!
根据经验,以前只有在修大型图片或者玩游戏的时候才会听到风扇声,但是风扇声不停下来,这就有问题了。
伴随着越来越大的风扇声,系统也变得越来越卡,直到点开一个Photoshop都提示无响应。
强制退出后,习惯性地打开活动监视器,发现了一个叫kernel_task的进程占用了400%以上的CPU,最高飙到800%多。。
而且这家伙很奇怪,别人都能结束,他不能。什么鬼?!
因为学过点Linux,印象中这个叫kernel的东西来头不小,网上搜了一下,漫长的折腾之路就开始了。。
0x00 什么是kernel_task?
没有对Mac OS系统下的东西有深入了解。。
查了些资料,大概知道kernel_task是一个mac系统下的管理进程,不知道这种表达对不对?
或者,这货根本就不能说是进程,属性好奇葩。。
寻求帮助的过程中发现个问题,网上因为MBP风扇满速而求助的帖子,都会提到这个kernel_task的东西占用了大量CPU,导致系统卡顿。
很多回复都提到,这是由于系统认为机器某处有高温而调用kernel_task抢占资源,强制降频,提高风扇转速,目的是散热。
但是,我现在机器很凉快啊!!
传感器出问题了?
手贱开机打扫卫生整坏了什么地方?
水逆到这种程度没可能吧?!
重新拆开后盖细细检查了一遍,好像什么都好好的。。
0x01 听说这叫修改ACPI电源管理?
如果你搜索“kernel_task占用大量CPU”,你会在大多数帖子里看到如下的解决办法:
-
1)查看“”-“关于本机”-“更多信息”-“系统报告”的“硬件概览”中的第二行——型号标识符并牢记
-
2)在Finder中进入路径“系统”-“资源库”-“Extensions”(路径为System\Library\Extensions),在Extensions中搜做到项“”,右击它并选择“显示包内容”,此时看到“Contents”文件夹
-
3)进入“Contents”-“Plugins”文件夹内找到项“ACPI_SMC_PlatformPlugin.kext”,右击它并选择“显示包内容”,此时看到“Contents”文件夹
-
4)进入“Contents”-“Resources”文件夹内,找到文件名跟步骤1)中显示之型号标识符一致的“.plist”文件并删除它
-
5)重启计算机
因为这个故障把问题指向了温度传感器,所以才有了这个解决方案。
这个方案里要删的文件,应该和温度管理有关。
但是!!如果你也碰到一样的故障,我可以告诉你,高于10.11的版本,直接忽略这一条!
因为你根本找不到和你机器型号标示符的文件。
我机器上的最高只去到MacBookPro8.3,所以我推断高于10.8.3的系统,此方法无效。
没有机器可以给我验证,纯推断,如果你有需要的话可以侥幸试下。
好吧,这条完蛋。
0x02 安全模式下能删上面这些文件?
第一个晚上,通宵折腾。
一边查帖子,一边动手修。
有个帖子里面说,全删了这些文件,故障解决。瞬间睡意全无,干!
开机按住Shift,启动到安全模式。
sudo -s,启用超级管理员获取系统最高权限。
按上面的路径,找到最后的Resouces文件夹,复制一份放到桌面上防止不测,然后,删!
结果,感觉像撞在了一块水泥墙上一样的,心情一下子又炸了。。
不死心,进Shell用命令行来删,不行。。
回到正常启动的系统,再试一下,还是不行。。
这里也可以跟你说,如果你是10.11的系统,直接跳过这一节吧,无效!
旧版系统假如删除这些plist文件后风扇正常了,我也尽责地提醒一下,修改了ACPI电源管理文件,有造成更大损坏的潜在风险。
讨论一下,是不是存在这么一种可能:
因为系统认为机器存在高温,所以提高了风扇转速,但是我们把管理文件删除了,风扇速度降了下来。等到真正出现高温的时候,风扇不提高转速了?
后果嘛。。
有点像狼来了对不对?
没机器实际验证,纯猜想,下面继续折腾吧。。
0x03 我直接跳过了重做系统
因为是清灰过后出现的故障,所以判定系统没事。
何况,现在只是运行卡卡的,系统照样是可以进的。
0x04 风扇调速插件最好别用
这里顺便提一下。。
由于要查看温度是否正常,我在机器故障出现后装了个插件istat menus。。
类似的软件还有比较出名的smcFanControl、MacsFanControl等等。
没有深入研究这些调转速的插件怎么用,但是以前看过好些童鞋调了风扇转速之后就改不会自动模式的状况。
不知道是软件BUG还是破坏了系统文件,总之。。
没事就别用,正常情况下风扇转速高了也是为了散热而已,不至于上升到噪音级别吧。
0x05 自检发现了问题的线索
睡了一觉。。
瞎逛帖子发现Mac居然还有自检程序,这么高端!
开机按住D,然后过了大概15分钟,出来个PFM002的故障码,还有中文,真贴心!
这里忘了拍照,大概就是指向了SMC控制器故障。
如何在 Mac 上使用 Apple Diagnostics
Apple Diagnostics:参考代码
0x06 进水了?
豆瓣有个帖子说,不小心打翻了水杯,MBP进了水,故障一样。
飙风扇,系统卡,同样发现kernel_task的影子。
忽然想起我的那罐硅胶,那是大一的时候买的,已经过期了。
劣质硅胶碰到高温会反水!!!我的天!!!
我居然在一个2w大洋的机器上涂5块钱的硅胶!!!还是过期的!!!
打开后盖一看,果然CPU和GPU旁边的硅胶化水了。
赶紧买了条新的重新上一遍,开机后故障依旧。
有人说他的机器进水,让风扇这么烤了两天自己就正常了。
我只能说他,命好。
我放着她烤了72小时以上,感觉问题并不能这么解决。
0x07 重置SMC?
以前看过网友提供的Mac操作手册,记得有些莫名其妙的问题可以用重置NVRAM和SMC控制器来解决。
查看了官方的帮助文档,赫然写着:
这个好简单!干!
按着重置NVRAM,再重置SMC的顺序做了一遍。
如何重置 Mac 上的 NVRAM
重置 Mac 上的系统管理控制器 (SMC)
每次看到新解决方法,都像个溺水者一样以为抓住了救命的稻草。
然而,6月从来没有放过我。
该方法对于我的机器无效。
这里说明一下,不是否认这个方法不能解决问题,而是对于我的个例无效。
如果你在这里成功解决故障,那么恭喜你!
这两个方式,也推荐作为最先尝试的方式,毕竟简单的很。
0x08 永不放弃发现曙光
重置SMC无效后,我终于冷静下来,咨询了几种处理方式。
1、天才吧预估的价格太高了,可能达到机身价的40%,这得接近8k,我还不如买一台新的?
2、淘宝换个二手主板,1200块,但是毕竟是维修过的板,不敢保证能撑多久;
3、发现深圳福田有一家维修站,能做芯片级的维修,经营着一个网站,上面的修复案例很牛逼。但是机器要么寄过去要么送过去,无法马上修复,我不想冒险;
4、京东二手换新服务,这个机器开机正常,能折7000+大洋,开机不正常,只能折700+大洋(我这个叫正常不正常?说它只是卡,可能会过审的哈~)
理工科出身的我,从来就没放弃过折腾。
某天夜深人静,对着拆开的机背沉思了很久,还拿着放大镜检查有没有哪里给戳到导致托焊。
无果。
想起上面重置SMC的步骤中,分电池可拆卸和不可拆卸。
打开后盖进行拆解的第一步是断开电池链接,这样的话,电池不就是可拆卸??
到这里也没在想解决问题,就是好奇自己的想法对不对,所以做了以下尝试。。
我试着断开电池,外接电源后开机,故障依旧。
接下来执行“电池可拆卸情况下”的重置SMC步骤。。
操作过程中,我习惯性地按下Shift+Control+Option+Power,然后发现外接电源还连接着,我就拔了电源。。然后又发现了我做的是“电池不可拆卸情况下”的动作。。
具体怎么整的,我也忘了。。
然后,她莫名其妙地开机了,这段日子里都是听着风扇声由小到大,所以敏锐地感觉到这次开机非常不一样!!!
呼的一下就能听出风扇是满速的,刚开机就是满速?!
最神奇的是,进入系统非常流畅,流畅得跟我第一天打开她一样!甚至超过了第一次开机的体验!
试着运行一些高负载的软件,PS,LR,Dota2等等,毫无压力!
这个时候我还不知道我是怎么做到的。。但我知道至少我能减少损失。。
运行一段时间后,发现合盖不会关屏幕、传感器插件里所有温度传感器都消失了。。甚至连显示N/A都没有。。连对应传感器都没出现,就像。。没有连接??
倒是仅剩一个硬盘的温度孤零零的。。
难道是。。主板上所有的传感器都被屏蔽了?!
果断去看了kernel_task的占用情况,发现只有1~2%,这又是什么鬼?!
0x09 歪打正着发现临时解决方法
果断关机。。
接上电池,按正确步骤重置SMC。
重开机,风扇安静了,但是2分钟后我又受打击了。。故障依旧。。
折腾到这里,我算是明白一半了。
就算我修不好这个故障,至少存在一个方法,让这机器带着风扇的呼呼声跑最高性能!
仔细回一下我刚才弄错的步骤,前前后后经过了一个多小时,各种开机关机,反正就是不按正确的重置步骤来,各种凌乱组合。
最后,终于让我折腾出来了:
心急的童鞋直接看这里:
-
1、关机;
-
2、插外接电源;
-
3、按住Shift+Control+Option+Power,大约10秒钟;
-
4、放开左手的三键,右手仍然按住Power不放10秒钟(这里时间宜长不宜短,试过了太快放开就无效);
-
5、仍然保持按住Power,左手拔下外接电源,等待5秒钟插回去(这里也是宜长不宜短);
-
6、正确执行以上步骤后,此时你插回外接电源,接口上的灯是不会亮起的,如果灯没有亮起,你就可以放开右手的Power了;
-
7、开机。
如果步骤正确,此时的风扇应该是刚开机就飙满速,文章内我姑且将这个模式称为“不知名模式”。
0x10 用此方法的后遗症
好了,至少我的MBP该有的性能回来了,除了呼呼呼的风扇声,下面是使用了几天后发现还存在的问题:
1、电池电量显示为0
进系统后发现电池图标不见了。打开系统偏好设置里的节能器,发现电池电量赫然显示为0。这几天开开关关机器,实际上使用的时间并不多,不可能耗尽的吧?
拔下外接电源,没有掉电。
所以,电池仍然是在供电的,但是系统识别不到它了。
此时看到充电器上的黄灯(充电状态),担心会不会过充炸了电池,查了资料,电池自己有过充保护,那先不管这个故障了;
2、电池不充电
看不到电池,但是当电池电量不满的情况下,充电器会亮黄灯。
好像跟正常系统没什么区别,但是它,没有在充电!没有在充电!没有在充电!
回到正常系统才能充电,充满了之后亮绿灯,但是回到不知名模式下,有可能会消耗电量。
关键是,消耗了还是绿灯!消耗了还是绿灯!消耗了还是绿灯!
直到耗尽重启,你依然什么都不知道。。
3、合盖不休眠
吃晚饭的时候习惯性合盖,结果吃完回来发现缝隙透出一道白光,耳边还有风扇瀑布般的声音。
我去。。
试了锁定屏幕,正常,会自动黑屏锁屏;
试了下睡眠,也正常,黑屏,风扇停转。
看来也不用着急解决了。
4、睡眠唤醒后wifi不稳定
好几次把机器从睡眠中唤醒起来后,发现wifi是连接的,但是网络打不开。
就算打开了网页,也是断断续续,每次正常时间不超过2分钟。
同时,家里其他客户端都正常使用着网络。
重新启动机器,网络就正常了。
我。。无解。。
5、风扇满速无法修改转速
此模式下所有传感器(除了SSD的)都消失了,系统识别不到。所以,任何改风扇转速的软件也无能为力。
少年,调整心态吧,一点点风扇声,当白噪音也不错。
6、启用独立显卡会消耗电池电量,电量耗尽会重启
这个故障是在两次高负荷运转之后发现的。
第一次意外重启,摸了键盘中间偏上的位置,有点热,以为是过热保护;
自动重启后当然是继续工作啦,刚跑起需要GPU的东西立马又重启了。什么鬼?!
按正常步骤重置SMC,回到卡卡的系统里,看看传感器数据,没有多热啊。。
瞄了一眼状态栏,发现电池电量为0,显示正在充电。
神奇了!
又有新发现(不知道对不对):Mac会在高负载的情况下使用内置外置电源一同供电提高功率?
经过一夜充满电后重新试了一回高负载运转(在不知名模式下),果然。。
当电池消耗完,就会突然重启,此模式下你是看不到电池电量的,只能估算。。
不过我的电池健康度很高,跑了14小时高负载才耗出了个重启,那这个影响也不大。
0x11 离开不知名模式的方法
心急的童鞋还必须看这里:
用正常的重置SMC步骤就可以退出不知名模式了。
回到正常模式下,除了kernel_task仍然会占用大量CPU资源导致卡顿,机器其他方面都没问题,上一章节说到的故障全部消失。
进水的童鞋可以用不知名模式烤干,烤两天后回去正常模式看看,可能有奇效。
对于在不知名模式下电池电量会消耗的问题,我是在深夜关机后顺手重置一下SMC,看到充电器指示灯闪成黄色就OK了。
一觉醒来,充电器亮绿灯,表示电量已经充满,再重置回不知名模式。
0x12 后续的折腾
机器能好好地跑起来,心情自然舒坦许多,至少能混饭吃了啊。
死活找不到MBP主板的电路图,只好拆下主板看看背面有没有什么问题。
仍然没有发现。
朋友说我硅胶涂多了,可能影响了什么电路,我也果断买了条硅胶,清干净了所有陈年老胶,重新涂上。
仍然没用。
好吧,不折腾了。
0x13 说下那个低级且致命的错误
RMBP的设计非常精密,螺丝的型号有很多,看着都能打进去,其实长短是有区别的。
我在拆机的时候,没有仔细去看螺丝,看起来觉得一样的就它们归类到一起。
清灰完装左边风扇,打回螺丝的时候听到啪的一声,没在意;
接着装右边风扇,也是打回螺丝的时候听到啪的一声,感觉出事了。
后来再拆风扇下来的时候,这两个焊盘掉了。
而且,那个很牛逼的维修网站上,就有一篇打错螺丝导致花屏送修的案例!!!
大意就是,螺丝太长把焊盘打爆了,PCB过孔里有导线受到了损坏。
无法验证!!!
但我感觉,问题出在这了!!!
仔细看了掉下来的螺丝位,底部确实粘连了PCB表层的黑色涂层,但是看不清是否有断裂的导线。
总之,不要打错螺丝!不要打错螺丝!不要打错螺丝!
0x14 总结
首先。。
再次重申这篇文章只适合已经过保的机器,或者违反保修条约的机器。没有过保你自个折腾个啥?
再次。。
土豪朋友可以直接官修或者换新机,地精说,时间就是金钱我的朋友。
我这么做一是穷,二是理工心不死爱折腾;
最后。。
风扇满载就满载吧,还是那句话,心态好了,这就只是一点点白噪音;
累坏了风扇,马云家买一个也不贵;
有人说这么做相当于系统没有节能模式,长时间满载输出可能过热。这放心好了,风扇满速的散热能力杠杠的;
还有人说怕烧大件?RMBP的CPU和GPU还有内存是焊死在主板上的,坏一点也是换主板,坏大件也是换主板,我这种能跑起来的情况还怕个啥?