2016 Touch Bar MBP entlädt die Batterie im Ruhezustand

Eine volle Batterie entlädt sich in etwa 24 Stunden bei geschlossenem Deckel und vollständig getrenntem Schlaf. Manchmal, wenn ich den Computer hochnehme, um ihn zu benutzen, ist er körperlich warm.

Folgendes habe ich versucht:

  • Power Nap im Akkubetrieb ist deaktiviert
  • iStat zeigt vor dem Schließen des Deckels keine Apps an, die "erheblich Energie verbrauchen".

Wenn ich in der Konsole auf system.log schaue, während ich weiß, dass der Computer im Ruhezustand war, sehe ich zwei Dinge, die mir sofort ins Auge fallen. Ich werde versuchen, relevante Abschnitte zu kopieren, aber ich bin mir 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] 

Als ich anderswo auf StackExchange nach Lösungen suchte, stieß ich auf die pmset -gAnfrage:

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 daran interessiert, das Problem zu lösen, aber ich bin auch an Hintergrundwissen interessiert, das zu einer Lösung führt. Hoffentlich habe ich relevante Informationen bereitgestellt.


Update Edit : Ein paar Tage sind ohne Diskussion vergangen, und mein Laptop hat sich im Schlaf gut verhalten. Heute morgen gegen 4 Uhr habe ich den Laptop mit 100% Akku ausgesteckt und den Deckel geschlossen. Gerade jetzt, um 7:30 Uhr, war es warm und die Batterie 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

Das Googeln von "Streaming Server Reconnected" führte zu einem Apple Support-Dokument mit mehreren Personen mit ähnlichen Problemen

Aktualisieren / Bearbeiten: Nach ein paar Monaten ohne Probleme bemerkte ich, dass mein Mac aus dem Ruhezustand aufwachte, was dazu führte, dass ein externes Display aufwachte und in den Ruhezustand überging. Das Weckereignis entsprach nicht Benachrichtigungen oder irgendetwas anderem Erkennbarem. Ich habe heute mit einem Apple Genius gesprochen und er hat angefangen, das Schlafbild zu entfernen, hat aber viele Berechtigungsprobleme damit gefunden und ist schließlich in den Einzelbenutzermodus gewechselt, 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 ihre Go-to-Level-1-Lösung für Schlaf-/Wach-Probleme darin besteht, das Schlafbild zu löschen.

Antworten (4)

Ich weiß nicht viel über das Entschlüsseln von console.log-Nachrichten, aber wenn Ihr Computer physisch warm ist und so viel Batterie verliert, ist er nicht wirklich eingeschlafen. Es ist normal, dass OS X alle paar Stunden aufwacht und einige Hintergrundaufgaben ausführt, aber bei normaler Verwendung sollte es innerhalb von Minuten wieder einschlafen. Ihre leistet im Schlaf definitiv mehr als die durchschnittliche Maschine.

Ich frage mich, was die Ergebnisse wären, wenn Sie einen neuen (völlig leeren) Benutzer in Systemeinstellungen> Benutzer und Gruppen erstellen, sich von Ihrem abmelden, sich bei diesem Benutzer anmelden und ihn dann für einen weiteren Tag oder so in den Ruhezustand versetzen. Wenn Sie sehen, dass die Maschine nicht mehr aufwacht und aus irgendeinem Grund nicht wieder einschläft, können Sie sicher sein, dass etwas in Ihrem Profil installiert ist. Wenn es weiterhin passiert, ist es möglich, dass das Betriebssystem ein Problem hat und neu installiert werden muss oder dass es ein verrücktes Hardwareproblem gibt, das dies verursacht. Es ist ein langwieriger Fehlerbehebungsprozess, aber es ist der einzige, den ich für ein solches Problem kenne. Bitte aktualisieren Sie hier, und ich kann Ihnen dabei weiterhelfen, wenn Sie sich für diesen Weg entscheiden.

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 zeitweiligen Problems erschweren könnte.
Nun, es würde ein systemweites Problem von einem in Ihrem Profil lokalisierten trennen - auf die eine oder andere Weise müssen Sie diese Unterscheidung treffen, um das Problem zu diagnostizieren und schließlich zu beheben. Verwenden syslog |grep -i "Wake reason"Sie es, anstatt nur zu hoffen, es zu fangen, solange es noch warm ist
hm, syslog scheint durch einen Befehl ersetzt worden zu sein, der logmit einer ähnlichen Funktionalität aufgerufen wird, aber "Wakeursache" taucht häufig auf. Der vollständige Befehl ist log --since 1d | grep -i "Wake reason"und ich habe auch einige interessante Ergebnisse mit gesehenlog --since 1d | grep -i "PowerChime"
Was sagt es, verursacht das Aufwachen, wenn Sie diesen Befehl ausführen?
Die meisten von ihnen haben etwas mit einem Trennen / Wiederverbinden des Displays zu tun, was eigentlich nie passiert ist.
Ist die genaue Nachricht die in Ihrer Bearbeitung? Geschieht dies während der gesamten Lebensdauer dieser Maschine, und wie lange haben Sie es schon? Hast du von einem TM-Backup wiederhergestellt, als du es bekommen hast?

Ich habe das gleiche Problem und bemerkt, dass es nur in meinem Heim-WLAN funktioniert. Wenn ich woanders schlafe (mit vorher verbundenem Wi-Fi), wird der Akku über Nacht nicht entladen.

Haben Sie zu Hause eine Zeitkapsel oder ein anderes Time Machine-Gerät, auf das Ihr Laptop Backups erstellt?
Ich nicht. An der anderen Stelle, an der der Akku nicht entladen wird, habe ich ein vernetztes Time Machine-Gerät eingerichtet.
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 erlebt. Ich werde es heute versuchen, indem ich den Laptop von zu Hause mitnehme und ihn durch einen Schlafzyklus laufen lasse.
Sie denken also, es liegt daran, dass es nach dem Backup-Laufwerk sucht und es nicht finden kann?

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

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

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

Das ist eine gute Idee, ich werde es bereinigen und sehen, ob das Problem wieder auftritt.

Ich habe heute Abend versucht, das WLAN zu deaktivieren, bevor ich den Deckel geschlossen habe, und es hat gut funktioniert. Das System wachte ein paar Mal auf, aber es gab keinen nennenswerten Batterieverbrauch.

Da dies nicht wirklich eine praktische Lösung ist, habe ich ein Skript für Hammerspoon geschrieben , das WiFi automatisch deaktiviert, bevor das System in den Ruhezustand wechselt. Es prüft auch, ob das Display wach ist, da es sonst den WiFi-Chip jedes Mal aufwecken würde, wenn das System aufwacht, wenn der Deckel geschlossen ist.