MacBook Pro (Retina, 15-inch, Mid 2015) 休眠掉电问题

2017-05-16 08:48:04 +08:00
 liul85

最近公司刚换了电脑,之前的是 13 款的,下班扣上盖子,装包里回家,早上来公司电池一般是 99%左右,一晚上掉很少的电。 换了新的后,发现早上来了电池只有 86%的电了,我还特意试了几次,晚上走之前,手动 sleep,早上来还是掉了很多电,看了一下 energy saver 里面的设置也没问题,不知道怎么回事。

不知道各位 V 友有遇到吗?还是我使用的姿势不对?

33034 次点击
所在节点    MacBook
72 条回复
Exin
2017-05-16 09:06:14 +08:00
我的一般隔夜之后就只有 85%+了,上次把 Wi-Fi 关了发现第二天还有 99%
liul85
2017-05-16 09:13:17 +08:00
@Exin #1 那我今天试试 休眠时候把 wifi 关掉 谢谢
miniers
2017-05-16 13:41:45 +08:00
liul85
2017-05-16 18:08:20 +08:00
@miniers #3 多谢分享,已经按照这个做了

"IOPlatformFeatureDefaults" = {"TCPKeepAliveDuringSleep"=No,"DNDWhileDisplaySleeps"=No,"TCPKeepAliveExpirationTimeout"=43200,"NotificationWake"=Yes}

今晚试验一下,明早来看结果!
liul85
2017-05-17 08:27:41 +08:00
@miniers 亲测有效,12 小时休眠后电池还是 100%,多谢啦!
ItzhacLea
2017-05-19 11:30:53 +08:00
剛才使用 pmset -g custom 命令,發現在 AC / Battery 模式下均多了一個「 tcpkeepalive 」的選項,默認值為 1。

使用 pmset -a tcpkeepalive 0 關閉時,會提示「 Warning: This option disables TCP Keep Alive mechanism when sytem is sleeping. This will result in some critical features like 'Find My Mac' not to function properly.」

根據描述感覺(瞎猜)這和樓主修改的 TCPKeepAliveDuringSleep 是同一個選項...吧。

系統版本是 macOS Sierra 10.12.5 (16F73)。
miniers
2017-05-19 11:46:41 +08:00
r#6 @ItzhacLea 我这没有发现这个选项,系统版本和你一致
AuDiablo
2017-05-19 14:41:58 +08:00
看到有人成功好激动,这个问题困扰我好几个月了,重置 smc、关 wifi、关蓝牙,google 到的各种方法都试过,全部没有用!全部没有用!全部没有用!每天必须开机关机两次!!

已经改好配置,下班时就测试,希望有效
ItzhacLea
2017-05-19 15:35:21 +08:00
@miniers 那就很奇怪了,我的是 rMBP 13, early 2015。
AuDiablo
2017-05-20 19:49:48 +08:00
亲测有效,解了我半年之困扰,正在适应不用等待开机过程的体验
alpha5un
2017-05-22 18:49:18 +08:00
说起来有些惭愧,上面的教程没有看懂。不知道有没有人可以按步骤指导一下。
liul85
2017-05-23 08:44:44 +08:00
@alpha5un #11

1. 重启 Macbook,在启动的时候按住 `command + R` ,然后系统会尽入 recovery 模式。
2. 选择语言,点下一步,然后在菜单栏选择打开 terminal。
3. 输入 `csrutil disable` 禁掉 SIP,然后正常重启 macbook。
4. 打开 terminal,输入 `ioreg -l | grep board-id` 查看你的 `board-id`,
5. 在这个目录 `/System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/PlugIns/X86PlatformPlugin.kext/Contents/Resources` 下面找到你的 board-id 对应的 .plist 文件
6. 用管理员账户编辑上一步中的 plist 文件,比如 `sudo vim

```
liul85
2017-05-23 08:49:12 +08:00
@alpha5un #11

刚才没写完,不小心点了发送,发现 markdown 不行,重写一下。

1. 重启 Macbook,在启动的时候按住 command + R,然后系统会尽入 recovery 模式。
2. 选择语言,点下一步,然后在菜单栏选择打开 terminal。
3. 输入 csrutil disable 禁掉 SIP,然后正常重启 macbook。
4. 打开 terminal,输入 ioreg -l | grep board-id 查看你的 board-id,
5. 在这个目录 /System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/PlugIns/X86PlatformPlugin.kext/Contents/Resources 下面找到你的 board-id 对应的 .plist 文件
6. 用管理员账户编辑上一步中的 plist 文件,比如 sudo vim Mac-2BD2C31983FE1634.plist
7. 把 TCPKeepAliveDuringSleep 修改为 false, 然后保存

<key>TCPKeepAliveDuringSleep</key>
<false/>
<key>NotificationWake</key>
<false/>
<key>DNDWhileDisplaySleeps</key>
<true/>
8. 重启 mac,按照第 1,2 步进入 recovery 模式,开启 SIP,csrutil enable。
9. 正常重启 mac,就可以了。可以用这个命令 ioreg -l | grep IOPlatformFeatureDefaults 来查看修改后的状态。
alpha5un
2017-05-23 09:39:37 +08:00
@liul85 大感谢 ORZ
est
2017-06-04 23:41:14 +08:00
我这不仅有掉电问题,还有睡死问题 orz
zddewe
2017-06-05 06:53:10 +08:00
@liul85 我能说我在这个文件里没有找到上面三个键值对吗?咋回事呢=_=
liul85
2017-06-05 12:51:32 +08:00
@zddewe #16 电脑型号,OSX 系统版本多少?
wangwang24
2017-06-06 04:43:53 +08:00
我想说我也没有这几个键值。。。跟楼主一样的 MacBook Pro (Retina, 15-inch, Mid 2015),系统版本 10.12.5
我只有这些:
<key>pmspFile</key>
<integer>3</integer>
<key>IOPlatformPowerProfile</key>
<dict>
<key>UnifiedSleepSliderPref</key>
<true/>
<key>PublishBatteryFactors</key>
<true/>
<key>NetworkTimerDelay</key>
<integer>900</integer>
<key>StandbyDelay</key>
<integer>10800</integer>
<key>ErPDelay</key>
<integer>28800</integer>
<key>AutoPowerOff</key>
<true/>
<key>IOPlatformSystemSleepPolicy</key>
wangwang24
2017-06-06 04:53:59 +08:00
原来是眼瞎了哈哈哈。。。改好了,准备测试下
liul85
2017-06-06 08:18:48 +08:00
@wangwang24 #19 哈哈

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/361578

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX