2016 Touch Bar MBP erschöpft den Akku im Schlaf

14

Eine volle Batterie wird in ca. 24 Stunden bei geschlossenem Deckel und vollständig ausgestecktem Schlaf entladen. Manchmal ist es körperlich warm, wenn ich den Computer zur Benutzung in die Hand nehme.

Folgendes habe ich versucht:

  • Power Nap im Akkubetrieb ist deaktiviert
  • iStat zeigt keine Apps an, die "viel Energie verbrauchen", bevor der Deckel geschlossen wird.

Wenn ich in Console auf system.log schaue, sehe ich während der Zeit, in der ich weiß, dass der Computer eingeschlafen ist, zwei Dinge, die mir sofort auffallen. Ich werde versuchen, relevante Abschnitte herauszuschreiben, bin mir aber nicht sicher, was wirklich hilfreich sein wird. Der erste Abschnitt wird endlos wiederholt :

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] 

Bei der Suche nach Lösungen in StackExchange bin ich auf die folgende pmset -gAnfrage gestoßen :

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

Ich bin an der Lösung des Problems interessiert, aber auch an Hintergrundwissen, das zu einer Lösung führt. Hoffentlich habe ich relevante Informationen zur Verfügung gestellt.


Update Edit : ein paar Tage sind vergangen, ohne dass darüber gesprochen wurde, und mein Laptop hat sich im Schlaf gut verhalten. Heute morgen, gegen 4 Uhr, habe ich den Laptop mit 100% Akku vom Stromnetz getrennt und den Deckel geschlossen. Gerade jetzt, um 7:30 Uhr, war es warm und die Batterie lag bei 73%.

Das system.log war voll davon:

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

Durch Googeln von "Streaming Server Reconnected" wurde ein Apple-Supportdokument mit mehreren Personen mit ähnlichen Problemen erstellt

Aktualisieren / Bearbeiten: Nach ein paar Monaten ohne Probleme bemerkte ich, dass mein Mac aus dem Ruhezustand aufwachte und ein externes Display aufwachte und in den Ruhezustand überging. Das Weckereignis stimmte nicht mit Benachrichtigungen oder anderen erkennbaren Ereignissen überein. Ich habe heute mit einem Apple Genius gesprochen, und er hat begonnen, das Schlafbild zu entfernen, hat jedoch viele Berechtigungsprobleme damit festgestellt und ist schließlich in den Einzelbenutzermodus gegangen, um die Arbeit zu erledigen. Als ich all die Probleme erklärte, die ich mit dem Schlaf hatte, sagte er, "das könnte das verursachen", aber ich habe das Gefühl, dass die Lösung auf Ebene 1 für Schlaf- / Wachprobleme darin besteht, das Schlafbild zu löschen.

voxobscuro
quelle

Antworten:

2

Ich weiß nicht viel über das Entschlüsseln von console.log-Nachrichten, aber wenn Ihr Computer physisch warm ist und so viel Batterie verliert, hat er tatsächlich nicht geschlafen. Es ist normal, dass OS X alle paar Stunden aufwacht und einige Hintergrundaufgaben ausführt. Unter normalen Umständen sollte es jedoch innerhalb von Minuten wieder eingeschlafen sein. Ihr macht definitiv mehr als die durchschnittliche Maschine im Schlaf.

Ich frage mich, was die Ergebnisse wären, wenn Sie einen neuen (vollständig leeren) Benutzer in den Systemeinstellungen> Benutzer und Gruppen erstellen, sich von Ihrem Benutzer abmelden, sich bei diesem Benutzer anmelden und ihn dann für einen weiteren Tag oder so in den Energiesparmodus versetzen würden. Wenn Sie feststellen, dass der Computer nicht mehr aufwacht und aus irgendeinem Grund nicht mehr in den Ruhemodus wechselt, können Sie sicher sein, dass etwas in Ihrem Profil installiert ist. Wenn dies weiterhin der Fall ist, liegt möglicherweise ein Problem mit dem Betriebssystem vor, das möglicherweise erneut installiert werden muss, oder es liegt ein verrücktes Hardwareproblem vor, das dies verursacht. Es ist ein langwieriger Fehlerbehebungsprozess, aber der einzige, den ich für ein Problem wie dieses kenne. Bitte aktualisieren Sie ihn hier, und ich kann Ihnen dabei weiterhelfen, wenn Sie sich für diesen Weg entscheiden.

kleiner winziger Mann
quelle
Sie haben absolut Recht damit, dass die Maschine nicht schläft. Das Verwirrende daran ist, dass es nicht jedes Mal passiert. Heute hat es 10 Stunden geschlafen und nichts verloren. Ich denke, dass das Erstellen eines neuen Benutzers die Diagnose eines zeitweise auftretenden Problems erschwert.
Voxobscuro
Nun, es würde ein systemweites Problem von einem Problem in Ihrem Profil trennen - auf die eine oder andere Weise müssen Sie diese Unterscheidung treffen, um zu diagnostizieren und schließlich eine Fehlerbehebung für das, was gerade vor sich geht, vorzunehmen. Verwenden Sie, syslog |grep -i "Wake reason"anstatt nur zu hoffen, es zu fangen, solange es noch warm ist
kleiner winziger Mann
hm, syslog scheint durch einen Befehl ersetzt worden zu sein, der logmit einer ähnlichen Funktionalität aufgerufen wurde , aber "Wake reason" wird häufig angezeigt. Der volle Befehl ist log --since 1d | grep -i "Wake reason"und ich habe auch einige interessante Ergebnisse mitlog --since 1d | grep -i "PowerChime"
voxobscuro
Was bedeutet es, dass das Aufwecken ausgelöst wird, wenn Sie diesen Befehl ausführen?
kleiner kleiner Mann
Die meisten von ihnen haben etwas mit einem Display-Disconnect / Reconnect zu tun, was eigentlich nie passiert ist.
Voxobscuro
1

Ich habe das gleiche Problem und habe festgestellt, dass es nur bei mir zu Hause funktioniert. Wenn ich woanders schlafe (mit vorher verbundenem Wi-Fi), wird der Akku nicht über Nacht entladen.

Narrowtux
quelle
Haben Sie eine Zeitkapsel oder ein anderes Time Machine-Gerät zu Hause, für das Ihr Laptop ein Backup erstellt?
Voxobscuro
Ich nicht. An der anderen Stelle, an der der Akku nicht entladen wird, habe ich ein vernetztes Time Machine-Gerät eingerichtet.
Narrowtux
Das ist interessant ... Ich habe diesen Schlaftod zum ersten Mal bemerkt, als ich nicht zu Hause war, wo ich ein vernetztes Time Machine-Gerät habe. Seit ich nach Hause zurückgekehrt bin, habe ich es nicht mehr gesehen. Ich werde es heute versuchen, indem ich den Laptop von zu Hause wegnehme und ihn durch einen Schlafzyklus lasse.
Voxobscuro
Sie denken also, es liegt daran, dass es nach dem Sicherungslaufwerk sucht und es nicht findet?
Narrowtux
1

Ich hatte eine Weile das gleiche Problem. Ein Kollege gab mir den Hinweis, alle konfigurierten Verbindungen in Netzwerkeinstellungen wie WLAN, Bluetooth, Ethernet, USB-Tethering für Telefone, FireWire, Thunderbolt this, Thunderbolt that etc (alles) zu löschen! und bewerben.

Konfigurieren Sie nur das, was Sie gerade benötigen. In meinem Fall war es nur WiFi und Bluetooth.

Dies hat mein Problem behoben und mein MacBook Pro mit Touch Bar schläft jedes Mal wie ein Baby, wenn ich den Deckel jetzt ohne dieses Problem schließe.

639d0991
quelle
Das ist eine gute Idee. Ich räume auf und sehe nach, ob das Problem wieder auftritt.
Voxobscuro
0

Versucht, das WiFi heute Abend zu deaktivieren, bevor der Deckel geschlossen wird, und es hat gut funktioniert. Das System hat ein paar Mal aufwacht , aber es gab keinen signifikanten Batterieverbrauch.

Da dies keine praktische Lösung ist, habe ich ein Skript für Hammerspoon geschrieben , das WLAN automatisch deaktiviert, bevor das System in den Ruhezustand wechselt. Es wird auch geprüft, ob das Display wach ist, da es sonst den WiFi-Chip jedes Mal aufweckt, wenn das System bei geschlossenem Deckel aufwacht.

Narrowtux
quelle