你的MacBook盒盖休眠发生了什么?
有同学把MacBook合上放包里,过一会拿出来发现烫得要命,以为主板烧了,其实不是。
合盖之后里面发生的事情比大部分人以为的复杂太多了:
以为合上盖子它就睡了,并没有
从盖子按下去那一刻开始,转轴那两颗磁铁靠近 触控板里一颗叫IPD的芯片通过霍尔传感器检测到磁场变化,然后给SMC发信号说盖子关了 SMC收到之后就开始忙了:
首先通知处理器准备休眠,处理器收到之后操作系统开始做一件很重要的事:把内存里所有东西拷一份到SSD,如开着的网页、聊天窗口、写了一半的文档、暂停的视频 、全在内存里,内存这东西断电数据就没了,所以必须先备份。16G内存就是16G数据要写进去,有时候合盖之后听到风扇还在转,大概率就是在干这个事
写完之后开始按顺序关东西:背光关了、面板断电了、GPU断了、WiFi进入低功耗、SSD也睡了、一大堆外设供电都断掉。
但有几样东西不断:SMC不断,它是管家得值班、两颗PMU不断、变电站不能停、触控板不断、、它要等下次开盖、键盘不断,还有最重要的,内存供电不断,断了数据就真没了
这时候MacBook表面上睡着了,但SMC一直在监听好几个信号:盖子开了没有、键盘有没有人按、USB-C有没有东西插进来、蓝牙有没有设备连进来,任何一个都可能触发一次暗唤醒,就是电脑偷偷醒了一下,屏幕没亮看不出来,但处理器跑了一会、WiFi连了一下,干完活又睡回去,完全无感
为什么包里会烫?
第一种情况 Power Nap
苹果有这个功能让电脑睡着的时候周期性醒过来收邮件、同步iCloud、备份Time Machine ,每次醒过来处理器要跑WiFi、SSD要读写,在桌面上散热没问题、在包里封闭的环境下热量出不去 ,一次两次还好,它每隔一段时间就醒一次 ,热量就累积起来了
第二种情况 蓝牙意外唤醒
包里可能有AirPods盒子或者手机蓝牙,碰了一下触发唤醒之后大部分时候能自己睡回去,但偶尔会卡住,就一直醒着
第三种最坑
合盖之前接着外接显示器或者Hub,拔了线然后合盖,但是系统还没来得及识别线拔了,它就认为现在是合盖外接显示器模式,这个模式处理器GPU全速跑,完全不休眠
在包里全速跑,见过拿出来处理器温度飙到100度的,风扇在包里狂转但热风根本出不去,长时间这样对硬件有伤害的
SMC有温度保护,到了某个阈值它会强制降频 再高就直接关机,所以有时候从包里拿出来发现它自己关机了,不是坏了是SMC救了它
这时候之前写的东西有没有丢就看运气了,如果合盖的时候内存数据已经完整拷到SSD了,那重新开机还能恢复,如果没拷完就被强制关机了 那没写完的那部分就真丢了
还有一个事很多人不知道,合盖时间长了之后 比如过了几个小时 SMC会把内存也断电,因为DRAM供电一直在消耗电池,长时间不用还不如断了省电 ,反正数据已经拷到SSD了,下次开盖从SSD读回来就行 ,就是会慢一点,会看到一个进度条。有时候MacBook放了一夜第二天开盖发现比平时慢几秒还有个进度条,就是这个原因:内存被断过电了
说到底合盖这个动作看着简单,其实SMC在那一两秒内要做一堆判断 :插没插充电器、电池剩多少、有没有外设在用、Power Nap开没开 ,不同组合几十种情况,每次合盖它面对的局面可能都不一样
然后下次掀开盖子,网页还在、文档还在、光标还在上次停下的那个字后面
好像什么都没发生过
有同学把MacBook合上放包里,过一会拿出来发现烫得要命,以为主板烧了,其实不是。
合盖之后里面发生的事情比大部分人以为的复杂太多了:
以为合上盖子它就睡了,并没有
从盖子按下去那一刻开始,转轴那两颗磁铁靠近 触控板里一颗叫IPD的芯片通过霍尔传感器检测到磁场变化,然后给SMC发信号说盖子关了 SMC收到之后就开始忙了:
首先通知处理器准备休眠,处理器收到之后操作系统开始做一件很重要的事:把内存里所有东西拷一份到SSD,如开着的网页、聊天窗口、写了一半的文档、暂停的视频 、全在内存里,内存这东西断电数据就没了,所以必须先备份。16G内存就是16G数据要写进去,有时候合盖之后听到风扇还在转,大概率就是在干这个事
写完之后开始按顺序关东西:背光关了、面板断电了、GPU断了、WiFi进入低功耗、SSD也睡了、一大堆外设供电都断掉。
但有几样东西不断:SMC不断,它是管家得值班、两颗PMU不断、变电站不能停、触控板不断、、它要等下次开盖、键盘不断,还有最重要的,内存供电不断,断了数据就真没了
这时候MacBook表面上睡着了,但SMC一直在监听好几个信号:盖子开了没有、键盘有没有人按、USB-C有没有东西插进来、蓝牙有没有设备连进来,任何一个都可能触发一次暗唤醒,就是电脑偷偷醒了一下,屏幕没亮看不出来,但处理器跑了一会、WiFi连了一下,干完活又睡回去,完全无感
为什么包里会烫?
第一种情况 Power Nap
苹果有这个功能让电脑睡着的时候周期性醒过来收邮件、同步iCloud、备份Time Machine ,每次醒过来处理器要跑WiFi、SSD要读写,在桌面上散热没问题、在包里封闭的环境下热量出不去 ,一次两次还好,它每隔一段时间就醒一次 ,热量就累积起来了
第二种情况 蓝牙意外唤醒
包里可能有AirPods盒子或者手机蓝牙,碰了一下触发唤醒之后大部分时候能自己睡回去,但偶尔会卡住,就一直醒着
第三种最坑
合盖之前接着外接显示器或者Hub,拔了线然后合盖,但是系统还没来得及识别线拔了,它就认为现在是合盖外接显示器模式,这个模式处理器GPU全速跑,完全不休眠
在包里全速跑,见过拿出来处理器温度飙到100度的,风扇在包里狂转但热风根本出不去,长时间这样对硬件有伤害的
SMC有温度保护,到了某个阈值它会强制降频 再高就直接关机,所以有时候从包里拿出来发现它自己关机了,不是坏了是SMC救了它
这时候之前写的东西有没有丢就看运气了,如果合盖的时候内存数据已经完整拷到SSD了,那重新开机还能恢复,如果没拷完就被强制关机了 那没写完的那部分就真丢了
还有一个事很多人不知道,合盖时间长了之后 比如过了几个小时 SMC会把内存也断电,因为DRAM供电一直在消耗电池,长时间不用还不如断了省电 ,反正数据已经拷到SSD了,下次开盖从SSD读回来就行 ,就是会慢一点,会看到一个进度条。有时候MacBook放了一夜第二天开盖发现比平时慢几秒还有个进度条,就是这个原因:内存被断过电了
说到底合盖这个动作看着简单,其实SMC在那一两秒内要做一堆判断 :插没插充电器、电池剩多少、有没有外设在用、Power Nap开没开 ,不同组合几十种情况,每次合盖它面对的局面可能都不一样
然后下次掀开盖子,网页还在、文档还在、光标还在上次停下的那个字后面
好像什么都没发生过
❤️ 1