Touch Bar MBP 2016 rozładowuje akumulator podczas snu

14

Pełny akumulator wyczerpie się po około 24 godzinach od zamknięcia pokrywy, całkowicie odłączonego zasilania. Czasami, kiedy biorę komputer, aby z niego korzystać, jest fizycznie ciepły.

Oto, co próbowałem:

  • Funkcja Power Nap na akumulatorze jest wyłączona
  • iStat nie pokazuje żadnych aplikacji „zużywających znaczną ilość energii” przed zamknięciem pokrywy.

Patrząc w Console na system.log, kiedy wiem, że komputer śpi, i widzę dwie rzeczy, które natychmiast na mnie wyskakują. Spróbuję skopiować odpowiednie sekcje, ale nie jestem pewien, co tak naprawdę będzie pomocne. Pierwsza sekcja jest powtarzana bez końca :

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] 

Szukając rozwiązań StackExchange gdzie indziej, natrafiłem na pmset -gżądanie:

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

Jestem zainteresowany rozwiązaniem tego problemu, ale interesuje mnie też wiedza ogólna prowadząca do rozwiązania. Mam nadzieję, że podałem odpowiednie informacje.


Aktualizacja edycji : minęło kilka dni bez dyskusji, a mój laptop zachowywał się dobrze podczas snu. Dziś rano, około 4 rano, odłączyłem laptop ze 100% baterią i zamknąłem pokrywę. Właśnie teraz, o 7:30, było ciepło, a bateria na 73%.

Plik system.log był pełny:

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

Googling „Streaming Server Reconnected” stworzył dokument wsparcia Apple z kilkoma osobami mającymi podobne problemy

Zaktualizuj / Edytuj: Po kilku miesiącach bez problemów zacząłem zauważać, że mój komputer Mac budzi się ze snu, powodując budzenie i sen z zewnętrznego wyświetlacza. Zdarzenie pobudki nie korespondowało z powiadomieniami ani czymkolwiek innym, co można było dostrzec. Rozmawiałem dzisiaj z Geniuszem Apple'a, który zaczął usuwać obraz snu, ale znalazł z nim wiele problemów z uprawnieniami, ostatecznie przechodząc w tryb pojedynczego użytkownika, aby wykonać zadanie. Kiedy wyjaśniłem wszystkie problemy, które miałem ze snem, powiedział „to może to spowodować”, ale mam wrażenie, że ich przejście na poziom 1 dla problemów ze snem / budzeniem usuwa obraz snu.

voxobscuro
źródło

Odpowiedzi:

2

Nie wiem dużo na temat odszyfrowywania komunikatów na konsoli.log, ale jeśli twoje urządzenie jest fizycznie ciepłe i traci tyle baterii, to tak naprawdę nie śpi. To normalne, że OS X budzi się co kilka godzin i wykonuje pewne zadania w tle, ale przy typowym użyciu powinien zasnąć ponownie w ciągu kilku minut. Twoja z pewnością robi więcej niż przeciętna maszyna podczas snu.

Zastanawiam się, jakie byłyby wyniki, gdybyś utworzył nowego (całkowicie pustego) użytkownika w Preferencjach systemowych> Użytkownicy i grupy, wylogował się z twojego konta, zalogował się do tego użytkownika, a następnie uśpił go na inny dzień. Jeśli zauważysz, że maszyna już się nie budzi i z jakiegokolwiek powodu nie wraca do trybu uśpienia, możesz być pewien, że jest to coś zainstalowanego w twoim profilu. Jeśli nadal tak się dzieje, możliwe, że system operacyjny ma problem i może wymagać ponownej instalacji lub że przyczyną tego jest jakiś zwariowany problem sprzętowy. Jest to długi proces rozwiązywania problemów, ale jest to jedyny znany mi problem taki jak ten - zaktualizuj tutaj, a mogę pomóc w tym, jeśli zdecydujesz się wybrać tę drogę.

mały malutki mężczyzna
źródło
Masz całkowitą rację, że maszyna nie śpi. Zagmatwane jest to, że nie zdarza się to za każdym razem. Dzisiaj spał przez 10 godzin i niczego nie stracił. Myślę, że utworzenie nowego użytkownika może utrudnić diagnozę sporadycznego problemu.
voxobscuro,
Cóż, zrobiłby to oddzielenie problemu systemowego od tego, który znajduje się w twoim profilu - w ten czy inny sposób musisz zrobić to rozróżnienie, aby zdiagnozować i ostatecznie naprawić to, co się dzieje. Użyj syslog |grep -i "Wake reason"zamiast po prostu mieć nadzieję, że złapiesz go, gdy jest jeszcze ciepły
mały malutki
hm, syslog wydaje się być zastąpiony poleceniem logo podobnej funkcjonalności, ale często pojawia się „Powód budzenia”. Pełne polecenie jest log --since 1d | grep -i "Wake reason"i widziałem również kilka interesujących wyników zlog --since 1d | grep -i "PowerChime"
voxobscuro
Co to znaczy, że uruchamia się po uruchomieniu tego polecenia?
mały malutki człowiek
Większość z nich ma coś wspólnego z rozłączaniem / ponownym podłączaniem wyświetlacza, co tak naprawdę nigdy nie miało miejsca.
voxobscuro,
1

Mam ten sam problem i zauważyłem, że robi to tylko w moim domowym Wi-Fi. Kiedy śpię gdzie indziej (z podłączonym Wi-Fi), nie rozładuje baterii przez noc.

narrowtux
źródło
Czy masz w domu kapsułę czasową lub inne urządzenie Time Machine, do którego komputer wykonuje kopię zapasową?
voxobscuro,
Ja nie. W innym miejscu, w którym nie wyczerpuje się bateria, skonfigurowałem sieciowe urządzenie Time Machine.
narrowtux,
To interesujące ... Po raz pierwszy zauważyłem tę śmierć podczas snu, kiedy byłem z dala od domu, gdzie mam sieciowe urządzenie Time Machine. Od powrotu do domu nie widziałem, żeby to się wydarzyło. Spróbuję dziś, zabierając laptopa z domu i uruchamiając go w cyklu snu.
voxobscuro,
Więc myślisz, że to dlatego, że szuka dysku zapasowego i nie możesz go znaleźć?
narrowtux,
1

Przez jakiś czas miałem ten sam problem. Kolega dał mi wskazówkę, aby usunąć wszystkie skonfigurowane połączenia w preferencjach sieci, takich jak WiFi, Bluetooth, Ethernet, telefon USB Tethering, FireWire, Thunderbolt this, Thunderbolt that etc (all)! i aplikuj.

Skonfiguruj tylko to, czego potrzebujesz teraz. W moim przypadku było to tylko WiFi i Bluetooth.

To rozwiązało mój problem, a mój MacBook Pro z paskiem dotykowym śpi jak dziecko za każdym razem, gdy zamykam pokrywkę bez tego problemu.

639d0991
źródło
To dobry pomysł, posprzątam i sprawdzę, czy problem wróci.
voxobscuro,
0

Próbowałem wyłączyć Wi-Fi dziś wieczorem przed zamknięciem pokrywy i działało dobrze. System nie obudzić się kilka razy, ale nie było znaczącej drenaż baterii.

Ponieważ nie jest to tak naprawdę praktyczne rozwiązanie, napisałem skrypt dla Hammerspoon, który automatycznie wyłącza WiFi, zanim system przejdzie w tryb uśpienia. Sprawdza również, czy wyświetlacz jest w stanie czuwania, ponieważ w przeciwnym razie budziłby układ WiFi za każdym razem, gdy system budzi się, gdy pokrywa jest zamknięta.

narrowtux
źródło