Сенсорная панель MBP 2016 года разряжает батарею во сне

14

Полностью разряженная батарея разрядится примерно через 24 часа при закрытой крышке и полностью отключенном сне. Иногда, когда я беру компьютер, чтобы использовать его, он физически нагревается.

Вот что я попробовал:

  • Power Nap на аккумуляторе отключен
  • iStat не показывает приложений, «использующих значительную энергию», перед тем как закрыть крышку.

Заглядывая в консоль, в system.log, в то время, когда я знаю, что компьютер спал, я вижу две вещи, которые сразу бросаются в глаза. Я постараюсь скопировать соответствующие разделы, но я не уверен, что на самом деле будет полезно. Первый раздел повторяется бесконечно :

05:49:47 WindowServer[121]: 8358864.989 [DFR] [deviceTerminate] 
05:49:47 WindowServer[121]: 8358865.001 [DFR] [_DFRDisplayDeviceRemoved] 
05:49:47 WindowServer[121]: 8358865.003 [DFR] [___DFRDisplayDeviceRemoved_block_invoke] calling client detach callback
05:49:47 WindowServer[121]: 8358865.004 [DFR] [_DFRDisplayClose] 
05:49:47 WindowServer[121]: 8358865.535 [DFR] [deviceMatch] 
05:49:47 WindowServer[121]: 8358865.535 [DFR] [_DFRDisplayDeviceAdded] 
05:49:47 WindowServer[121]: 8358865.537 [DFR] [_DFRDisplayUsbStart] 
05:49:47 WindowServer[121]: 8358865.537 [DFR] [_DFRDisplayOpen] 
05:49:47 WindowServer[121]: 8358865.540 [DFR] [_DFRDisplayOpen] sending GetInfo
05:49:47 WindowServer[121]: 8358865.541 [DFR] [_DFRDisplayHandleVendorPacket] kDFRDisplayCommandGetInfo ready: 0
05:49:47 WindowServer[121]: 8358865.541 [DFR] [_DFRDisplayHandleVendorPacket] calling client attach callback
05:49:47 WindowServer[121]: 8358865.554 [DFR] [_DFRDisplayHandleVendorPacket] kDFRDisplayCommandGetInfo ready: 1
06:01:51 WindowServer[121]: 8359589.038 [DFR] [deviceTerminate] 
06:01:51 WindowServer[121]: 8359589.041 [DFR] [_DFRDisplayDeviceRemoved] 
06:01:51 syslogd[37]: ASL Sender Statistics
06:01:51 WindowServer[121]: 8359589.044 [DFR] ERR [_DFRDisplaySendPacket] WritePipe failed 0xe00002c0
06:01:51 WindowServer[121]: 8359589.044 [DFR] [___DFRDisplayDeviceRemoved_block_invoke] calling client detach callback
06:01:51 WindowServer[121]: 8359589.044 [DFR] [_DFRDisplayClose] 
06:01:51 WindowServer[121]: 8359589.537 [DFR] [deviceMatch] 
06:01:51 WindowServer[121]: 8359589.537 [DFR] [_DFRDisplayDeviceAdded] 
06:01:51 WindowServer[121]: 8359589.540 [DFR] [_DFRDisplayUsbStart] 
06:01:51 WindowServer[121]: 8359589.540 [DFR] [_DFRDisplayOpen] 
06:01:51 WindowServer[121]: 8359589.589 [DFR] [_DFRDisplayOpen] sending GetInfo
06:01:51 WindowServer[121]: 8359589.590 [DFR] [_DFRDisplayHandleVendorPacket] kDFRDisplayCommandGetInfo ready: 0
06:01:51 WindowServer[121]: 8359589.590 [DFR] [_DFRDisplayHandleVendorPacket] calling client attach callback
06:01:51 WindowServer[121]: 8359589.591 [DFR] [_DFRDisplayHandleVendorPacket] kDFRDisplayCommandGetInfo ready: 1
06:08:40 WindowServer[121]: 8359998.006 [DFR] [deviceTerminate] 
06:08:40 WindowServer[121]: 8359998.007 [DFR] [_DFRDisplayDeviceRemoved] 
06:08:40 WindowServer[121]: 8359998.008 [DFR] [___DFRDisplayDeviceRemoved_block_invoke] calling client detach callback
06:08:40 WindowServer[121]: 8359998.008 [DFR] [_DFRDisplayClose] 
06:08:40 WindowServer[121]: 8359998.542 [DFR] [deviceMatch] 
06:08:40 WindowServer[121]: 8359998.542 [DFR] [_DFRDisplayDeviceAdded] 
06:08:40 WindowServer[121]: 8359998.543 [DFR] [_DFRDisplayUsbStart] 
06:08:40 WindowServer[121]: 8359998.543 [DFR] [_DFRDisplayOpen] 
06:08:40 WindowServer[121]: 8359998.568 [DFR] [_DFRDisplayOpen] sending GetInfo
06:08:40 WindowServer[121]: 8359998.580 [DFR] [_DFRDisplayHandleVendorPacket] kDFRDisplayCommandGetInfo ready: 0
06:08:40 WindowServer[121]: 8359998.580 [DFR] [_DFRDisplayHandleVendorPacket] calling client attach callback
06:08:40 WindowServer[121]: 8359998.581 [DFR] [_DFRDisplayHandleVendorPacket] kDFRDisplayCommandGetInfo ready: 1
06:15:27 WindowServer[121]: 8360404.994 [DFR] [deviceTerminate] 

Глядя на решения StackExchange в другом месте, я натолкнулся на pmset -gзапрос:

System-wide power settings:
Currently in use:
 standbydelay         10800
 standby              1
 halfdim              1
 hibernatefile        /var/vm/sleepimage
 powernap             0
 gpuswitch            2
 disksleep            10
 sleep                1
 autopoweroffdelay    28800
 hibernatemode        3
 autopoweroff         1
 ttyskeepawake        1
 displaysleep         2
 acwake               0
 lidwake              1

Я заинтересован в решении проблемы, но мне также интересны любые базовые знания, ведущие к решению. Надеюсь, я предоставил соответствующую информацию.


Обновление Редактировать : пару дней прошло без каких-либо обсуждений, и мой ноутбук вел себя хорошо во время сна. Этим утром, около 4 часов утра, я отключил ноутбук со 100% батареей и закрыл крышку. Только сейчас, в 7:30, было тепло и батарея на 73%.

System.log был полон этого:

07:08:02 com.apple.xpc.launchd[1] (com.apple.quicklook[19336]): Endpoint has been activated through legacy launch(3) APIs. Please switch to XPC or bootstrap_check_in(): com.apple.quicklook
07:08:35 diagnosticd[5296]: Streaming server Reconnected
07:08:47 GoogleSoftwareUpdateAgent[19340]: 2017-08-02 07:08:47.848 GoogleSoftwareUpdateAgent[19340/0x7fffde16f3c0] [lvl=2] -[KSAgentApp(PrivateMethods) setupLoggerOutput] Agent default/global settings: <KSAgentSettings:0x100302ee0 bundleID=com.google.Keystone.Agent lastCheck=2017-08-02 10:37:43 +0000 lastServerCheck=2017-08-02 10:37:41 +0000 lastCheckStart=2017-08-02 10:37:31 +0000 checkInterval=18000.000000 uiDisplayInterval=604800.000000 sleepInterval=1800.000000 jitterInterval=900 maxRunInterval=0.000000 isConsoleUser=1 ticketStorePath=/Users/robert/Library/Google/GoogleSoftwareUpdate/TicketStore/Keystone.ticketstore runMode=3 daemonUpdateEngineBrokerServiceName=com.google.Keystone.Daemon.UpdateEngine daemonAdministrationServiceName=com.google.Keystone.Daemon.Administration logEverything=0 logBufferSize=2048 alwaysPromptForUpdates=0 productIDToUpdate=(null) lastUIDisplayed=(null) alwaysShowStatusItem=0 updateCheckTag=(null) printResults=NO userInitiated=NO>
07:09:42 diagnosticd[5296]: Streaming server Reconnected
07:10:49 diagnosticd[5296]: Streaming server Reconnected
07:11:54 diagnosticd[5296]: Streaming server Reconnected
07:12:01 awdd[155]: Diagnostics Report
07:13:00 diagnosticd[5296]: Streaming server Reconnected
07:13:14 com.apple.xpc.launchd[1] (com.apple.quicklook[19365]): Endpoint has been activated through legacy launch(3) APIs. Please switch to XPC or bootstrap_check_in(): com.apple.quicklook
07:14:07 syslogd[37]: ASL Sender Statistics
07:14:07 diagnosticd[5296]: Streaming server Reconnected
07:15:12 diagnosticd[5296]: Streaming server Reconnected
07:16:18 diagnosticd[5296]: Streaming server Reconnected
07:17:24 diagnosticd[5296]: Streaming server Reconnected

Поиск в Google «Потоковый сервер повторно подключен» подготовил документ поддержки Apple, в котором участвовали несколько человек с похожими проблемами.

Обновление / редактирование: после нескольких месяцев без проблем я начал замечать, что мой Mac проснулся от сна, в результате чего внешний дисплей проснулся и заснул. Событие Wake не соответствовало уведомлениям или чему-либо еще заметному. Сегодня я разговаривал с Apple Genius, и он начал удалять изображение сна, но обнаружил множество проблем с правами доступа, в конечном итоге перейдя в однопользовательский режим, чтобы выполнить свою работу. Когда я объяснил все проблемы, которые у меня были со сном, он сказал, что «это может вызвать это», но у меня есть ощущение, что их решение уровня 1 для решения проблем со сном / бодрствованием - это удаление образа сна.

voxobscuro
источник

Ответы:

2

Я не очень разбираюсь в расшифровке сообщений console.log, но если ваша машина физически нагревается и теряет столько батареи, она фактически не спит. Это нормально для OS X просыпаться каждые несколько часов и выполнять некоторые фоновые задачи, но при обычном использовании он должен снова спать в течение нескольких минут. Ваш, безусловно, делает больше, чем средняя машина, пока спит.

Интересно, каковы будут результаты, если вы создадите нового (полностью пустого) пользователя в «Системных настройках»> «Пользователи и группы», выйдете из своего аккаунта, войдете в него и затем переведите его в спящий режим еще на один день или около того. Если вы видите, что машина больше не просыпается и по какой-либо причине не возвращается в спящий режим, вы можете быть уверены, что она установлена ​​в вашем профиле. Если это продолжает происходить, возможно, что в операционной системе возникла проблема, и, возможно, ее необходимо переустановить или возникла какая-то сумасшедшая проблема с оборудованием, вызывающая это. Это длительный процесс устранения неполадок, но я знаю только о такой проблеме - пожалуйста, обновите здесь, и я могу помочь с этим, если вы решите пойти по этому пути.

маленький крошечный человек
источник
Вы абсолютно правы в том, что машина не спит. Смущает то, что это происходит не каждый раз. Сегодня он спал 10 часов и ничего не потерял. Я думаю, что создание нового пользователя может затруднить диагностику периодически возникающих проблем.
voxobscuro
Хорошо, что он будет делать, это отделить общесистемную проблему от проблемы, расположенной в вашем профиле - так или иначе вам нужно провести это различие, чтобы диагностировать и в конечном итоге применить исправление к происходящему. Используйте syslog |grep -i "Wake reason"вместо того, чтобы просто надеяться поймать его, пока он еще теплый
маленький крошечный человечек
хм, похоже, syslog был заменен командой, вызываемой logс похожей функциональностью, но часто появляется «причина пробуждения». Полная команда - log --since 1d | grep -i "Wake reason"и я также видел некоторые интересные результаты сlog --since 1d | grep -i "PowerChime"
voxobscuro
Что это говорит, что вызывает пробуждения, когда вы запускаете эту команду?
маленький крошечный человек
Большинство из них связано с отключением / повторным подключением дисплея, чего на самом деле никогда не было.
voxobscuro
1

У меня та же проблема, и я заметил, что это происходит только у меня дома Wi-Fi. Когда я сплю где-то еще (с подключенным Wi-Fi раньше), он не разряжает батарею за ночь.

narrowtux
источник
У вас дома есть капсула времени или другое устройство Time Machine, к которому подключен ваш ноутбук?
voxobscuro
Я не. В другом месте, где он не разряжает батарею, я настроил сетевое устройство Time Machine.
smalltux
Это интересно ... Я впервые заметил эту смерть во сне, когда был вдали от дома, где у меня есть сетевое устройство Time Machine. После возвращения домой я не видел, чтобы это случилось. Я попробую это сегодня, забрав ноутбук из дома и проверив его в цикле сна.
voxobscuro
Итак, вы думаете, что это потому, что он ищет резервный диск и не может его найти?
smalltux
1

У меня была такая же проблема некоторое время. Коллега дал мне подсказку удалить все настроенные соединения в сетевых настройках, таких как Wi-Fi, Bluetooth, Ethernet, модем USB телефона, FireWire, Thunderbolt, Thunderbolt и т. Д. (Все)! и применить.

Настройте только то, что вам нужно прямо сейчас. В моем случае это был только WiFi и Bluetooth.

Это исправило мою проблему, и мой MacBook Pro с сенсорной панелью спал как ребенок каждый раз, когда я закрывал крышку без этой проблемы сейчас.

639d0991
источник
Это хорошая идея, я уберу ее и посмотрю, возникнет ли проблема.
voxobscuro
0

Попробовал отключить WiFi сегодня вечером перед тем, как закрыть крышку, и это сработало хорошо. Система действительно просыпается несколько раз , но не было никакой существенная разрядки батареи.

Теперь, поскольку это не очень практичное решение, я написал скрипт для Hammerspoon, который автоматически отключает WiFi перед тем, как система перейдет в спящий режим. Он также проверяет, активен ли дисплей, потому что в противном случае он будет активировать микросхему WiFi каждый раз, когда система активируется при закрытой крышке.

narrowtux
источник