Warum wird mein MacBook Pro nicht automatisch in den Ruhezustand versetzt?

16

Ich habe mein MacBook so eingestellt, dass es nach 2 Minuten im Akkubetrieb in den Energiesparmodus wechselt (über das Einstellungsfenster). Wenn ich es jedoch inaktiv lasse, wird nur der Bildschirm ausgeschaltet. Das heißt, wenn ich es verlasse und vergesse, den Deckel zu schließen, endet es immer mit einer leeren Batterie.

Das System schläft korrekt, wenn es manuell ( - Sleep) oder durch Schließen des Deckels ausgelöst wird. Ich habe es ohne angeschlossene USB-Geräte und mit einem neuen Benutzerkonto getestet, auf die Möglichkeit hin, dass ein Hintergrundprogramm den Schlaf verhinderte. Zu dem Zeitpunkt, an dem das System in den Ruhezustand versetzt werden soll, werden auf der Konsole keine relevanten Informationen gedruckt.

Ich habe einen erfolglosen PRAM- und SMC-Reset durchgeführt sowie die üblichen abergläubischen Verify Disk Permissions.

Muss ich noch etwas ausprobieren, bevor ich OS X neu installiere?

Dies ist ein MacBookPro5,5laufendes OS 10.6.6.

Es ist erwähnenswert, dass ich vor einiger Zeit unter diesem Problem gelitten habe, weil ein Fehler in einem Hilfsdämon für das Produkt Things aufgetreten ist. Dieses Problem war jedoch etwas anders und beinhaltete den Ruhezustand der Anzeige. Außerdem habe ich überprüft, dass der Hilfsdämon während meiner Tests nicht ausgeführt wurde.

Zusätzliche Information:

Ich habe begonnen, das Apple-Dokument mit dem Titel " Warum Ihr Mac möglicherweise nicht in den Energiesparmodus wechselt oder nicht in den Energiesparmodus wechselt" durchzuarbeiten. Ich habe festgestellt, dass dieses Problem nicht auftritt, wenn ich meinen Computer sicher boote. Ich hatte diffden Vorgang aufgelistet und festgestellt, dass die folgenden Programme nur beim normalen Booten ausgeführt werden und somit mögliche Schuldige sind:

  • Quick Look Helper
  • cvmsComp_x86_64
  • kextcache
  • launchd
  • mdworker
  • mdworker
  • nmblookup
  • vmnet-bridge
  • vmnet-dhcpd
  • vmnet-dhcpd
  • vmnet-natd
  • vmnet-netifup
  • vmnet-netifup
Phil Calvin
quelle
Stellen Sie sicher, dass Sie den Energiesparmodus einstellen und nicht den Energiesparmodus anzeigen. Foto hier: imgur.com/yVGb4.png
Nathan Greenstein
1
Können Sie aus Neugier versuchen, den Ruhezustand des Displays nach dem Ruhezustand des Computers auf einen Wert zu setzen? Vielleicht finden wir einen Bug. Die andere Sache, die mir einfällt: Vielleicht aktiviert Ihr Bildschirmschoner etwas und verhindert, dass es schläft (dies wäre auch ein Fehler). Versuchen Sie, die Einstellungen so lange zu ändern, bis sie reibungslos funktionieren (Bildschirmschoner, Ruhezustand des Bildschirms, Ruhezustand des Computers).
Nathan Greenstein
1
Der Einstellungsbereich verhindert, dass Sie den Ruhezustand der Anzeige nach dem Ruhezustand des Computers einstellen. Ich habe sie als das Gleiche und als etwas anderes ausprobiert (da ich dachte, das erstere könnte einen Fehler haben). Ich habe auch gerade Bildschirmschoner, Bildschirmschoner und Computerschoner ausprobiert, aber keine Würfel.
Phil Calvin
1
@ Martin Wickman: Ich habe das vielleicht gelöst. Ich hatte weniger als 5% freien Speicherplatz auf meinem System-Volume, der im System-Log protokolliert wurde (aber nicht auf eine Weise, die klar machte, dass es eine Beziehung gibt.) Das Freigeben von 50 GB löste das Problem. Haben Sie auch wenig freien Speicherplatz?
Phil Calvin
1
Ich habe gerade herausgefunden, pmset -g assertionswelche Informationen darüber enthalten, welcher Prozess (oder etwas anderes) den Schlaf verhindert. Hör zu.
Martin Wickman

Antworten:

5

Führen Sie den folgenden pmsetBefehl im Terminal aus , um das Debuggen von Ruhezuständen zu erleichtern :

$ pmset -g assertions

Assertion status system-wide:
   ChargeInhibit                           0
   PreventUserIdleDisplaySleep             0
   PreventUserIdleSystemSleep              1
   NoRealPowerSources_debug                0
   CPUBoundAssertion                       0
   EnableIdleSleep                         1
   PreventSystemSleep                      0
   DisableInflow                           0
   DisableLowPowerBatteryWarnings          0
   ExternalMedia                           0

Listed by owning process:
  pid 2520: [0x0000012c000009d8] PreventUserIdleSystemSleep named: "com.apple.audio.'AppleHDAEngineOutput:1B,0,1,2:0'.noidlesleep" 

In diesem Fall ist es der Prozess, der 2520 durcheinander bringt. Probieren Sie es in der Aktivitätsüberwachung aus und beenden Sie es (/ usr / sbin / coreaudiod wird von iTunes gestartet).

Führen Sie danach den Befehl erneut aus:

Assertion status system-wide:
   ChargeInhibit                           0
   PreventUserIdleDisplaySleep             0
   PreventUserIdleSystemSleep              0
   NoRealPowerSources_debug                0
   CPUBoundAssertion                       0
   EnableIdleSleep                         1
   PreventSystemSleep                      0
   DisableInflow                           0
   DisableLowPowerBatteryWarnings          0
   ExternalMedia                           0

Keine Flags für PreventUserIdleSystemSleep.

Martin Wickman
quelle
Dies ist eine fantastische Anwendung, von der pmsetich nichts wusste. Vielen Dank, dass Sie mich darauf aufmerksam gemacht haben.
Phil Calvin
Was machen Sie, wenn der Prozess nicht läuft und PreventUserIdleDisplaySleepimmer noch auf 1 gesetzt ist?
Abhi Beckert
4

Ich hatte das gleiche Problem mit meinem MacBook Pro 3.1. Es ist extrem frustrierend. Ich ging so weit, OS X komplett neu zu installieren, was das Problem nicht löste. Dies lässt mich glauben, dass es in meinem Fall wahrscheinlich ein Hardwareproblem ist.

Ich habe die Fehlerbehebung aufgegeben und verwende nur PleaseSleep .

PleaseSleep ist ein Hilfsprogramm für Mac OS X, mit dem Sie Ihren Computer in den Ruhezustand versetzen können, wenn Sie wissen, dass eine andere App den Ruhezustand Ihres Mac verhindert.

PleaseSleep befindet sich im Hintergrund und wartet auf den Sleep-Timer, den Sie in den Einstellungen für den Energiesparmodus festgelegt haben. Abhängig von den von Ihnen festgelegten Einstellungen versucht PleaseSleep, Ihren Computer in den Energiesparmodus zu versetzen, wenn der geplante Energiesparmodus einsetzt. PleaseSleep ist sehr einfach zu konfigurieren. Sie können die Einstellungen über das Symbol in der Systemmenüleiste aktivieren, deaktivieren und darauf zugreifen. Sie können festlegen, dass PleaseSleep die Sleep-Funktion immer aktiviert, oder PleaseSleep anweisen, die Sleep-Funktion nur dann zu aktivieren, wenn bestimmte Apps ausgeführt werden.

Graham
quelle
Das ist beängstigend! Wenn ich keine "echte" Lösung finden kann, werde ich dieses Produkt mit Sicherheit testen und Ihre Antwort akzeptieren. Ich bin jedoch hartnäckig und noch nicht bereit aufzugeben. =)
Phil Calvin
Funktioniert nicht am 10.8
Sorin
3

Endlich habe ich mein System wieder zuverlässig im Ruhezustand. Um diesen Punkt zu erreichen, habe ich drei Dinge geändert, von denen ich glaube, dass sie alle dazu beigetragen haben:

  • Ich hatte nur noch wenig Speicherplatz (weniger als 5%) auf meinem primären Volume. Der Kernel hat sich darüber beschwert system.log(sichtbar in Console.app), zu welcher Zeit er hätte schlafen sollen.

  • Ich habe Dropbox deaktiviert, die häufig und unangenehm auf die Festplatte zugreift und angeblich den Schlaf in Snow Leopard verhindert.

  • Ich habe jeden Abend ein Upgrade von einem peinlich alten Chromium durchgeführt und bin jetzt auf 11.0.658.0 (73560) . Es sind mehrere Fehler in Bezug auf dieses Chrome / Chromium-Produkt aufgetreten, die den Ruhezustand verhindern. Dies stellte ich jedoch erst fest, nachdem das System nach einem Neustart ohne ausgeführte Programme in den Ruhezustand versetzt wurde.

Technische Beobachtungen folgen:

Es ist erwähnenswert, dass das Einstellungsfenster für den Energiesparmodus ein wenig zu finden ist. Ich habe es so eingestellt, dass es nach 1 Minute in den Ruhezustand wechselt und den Bildschirm ausschaltet, aber das System geht für 3 Minuten und 30 Sekunden nicht in den Ruhezustand. Geben oder nehmen Sie ein paar Sekunden, um das Safe Sleep-Image zu schreiben. Der Bildschirm benötigt tatsächlich 2 Minuten, um einzuschlafen. Ich vermute, dass Apple dies besser weiß als wir - 1 Minute ist wahrscheinlich einfach zu schnell. Unabhängig davon macht dies das Debuggen derartiger Probleme schwierig, da Sie länger als angegeben warten müssen, um zu sehen, ob das System wirklich in den Ruhezustand wechselt.

Dass diese beiden Anwendungen trotz geringer Intensität Beiträge geleistet haben, deutet darauf hin, dass Snow Leopard etwas daran geändert hat, wie das System entscheidet, ob Leerlaufschlaf auftreten kann. Es gibt eine dokumentierte API zum Deaktivieren des Ruhezustands, aber es scheint auch, dass die Festplattenaktivität (insbesondere das Schreiben) mehr als einmal pro Minute den Ruhezustandstimer zurücksetzt und somit den Ruhezustand verzögert. Jede Anwendung, die häufig schreibt, ist daher eine mögliche Ursache. sudo fs_usage -e grep -f filesys | grep -e writeIn einem Terminalfenster können Sie die Täter aufdecken.

Phil Calvin
quelle
1
Die Befehlsverwendung sollte hier wahrscheinlich sein: sudo fs_usage -e grep -f filesys | grep schreiben Ohne -e wird es nur die grep schreibt erbrechen. Nicht hilfreich.
Dominic Hopton
Interessant! Beim Testen mit Snow Leopard trat kein Erbrechen auf, aber mit Lion. Fest.
Phil Calvin
In den Apple-Diskussionsforen ist ein ziemlich langer Thread zu lesen, der darauf hindeutet, dass Lion einige neue mögliche Schlafprobleme im Zusammenhang mit Druckern und Netzwerkfreigaben aufwirft. Weitere Dinge, die Sie ausprobieren sollten, wenn Sie wie ich am Ende des Wissens sind.
Phil Calvin
0

Könnte Spotlight-Indizierung sein. Sie können dies testen, indem Sie zu Systemeinstellungen> Spotlight> Suchergebnisse gehen und alles deaktivieren. Überprüfen Sie dann, ob Ihr MacBook in den Ruhezustand wechselt.

conorgriffin
quelle
Ich habe die Indizierung mit deaktiviert mdutil -a -i off, aber das Problem blieb bestehen. Bitte lassen Sie mich wissen, wenn dies Ihrem Vorschlag funktional nicht entspricht.
Phil Calvin
Ich weiß nicht, ob es funktionell dasselbe ist. Aber es ist schnell zu testen, warum nicht versuchen, wie beschrieben?
conorgriffin
Haben Sie Skype?
Martin Marconcini
@ martin-marconcini - Fragst du @ Phil-Calvin oder mich?
conorgriffin