Unterstützt Mac OS X den Ruhezustand?

40

Unter Windows können Sie Ihren Computer in den Ruhezustand versetzen, sodass er im Ruhezustand viel schneller startet und dabei keinen Strom verbraucht.

Auf meinem Mac mini wird die Option "Ruhezustand" angezeigt, der Ruhezustand wird jedoch nicht aktiviert. Unterstützt der Mac den Ruhezustand?

Ich bin auf Leopard.

AngryHacker
quelle

Antworten:

34

OS X hat nur eine "Schlaf" -Option. Sie können den Namen nicht ändern, aber um das Verhalten zu ändern, verwende ich eine alte Version von SmartSleep auf einem Mac mini (allerdings im MacBook-ähnlichen "Schlaf- und Ruhezustand" -Modus). Es funktioniert für einen Mini, obwohl die Website nur auf MacBooks verweist.

(SmartSleep war noch frei, als ich das 2009 schrieb.)

Ich bekomme gelegentlich Beschwerden darüber, dass Hardware nicht richtig entfernt wurde (aber OS X sagt mir nie, welche Hardware und meine Time Machine-USB-Laufwerke in Ordnung sind - ich sollte eines Tages einen Blick in die Protokolle werfen, und ich gehe davon aus, dass dies mit OS X zusammenhängt, nicht zu SmartSleep).

Ich habe SmartSleeps "Nur Ruhezustand" auf diesem Mini (Intel; unter 10.5) schnell getestet und es scheint auch zu funktionieren. Doing diese Tests, bemerkte ich , dass nach der Anzeige des (wie , um anzuzeigen , pulsierende Energie Licht beginnt schwarz geht schlafen , anstatt Hibernate) für ein paar Sekunden. Vielleicht schreibt es dann immer noch RAM auf die Festplatte. (Bis jetzt dachte ich immer, dass auf meinem MacBook das Pulsieren anzeigt, dass alles erledigt ist. Aber jetzt denke ich, dass man, egal welchen Schlafmodus man verwendet, den Netzstecker wahrscheinlich nicht zu früh ziehen sollte). Nach kurzer Zeit schaltet es sich vollständig aus.

Im Jahr 2006 erklärt Macworld , wie dies auch ohne den SmartSleep-Einstellungsbereich erreicht werden kann. So überprüfen Sie das aktuelle Setup:

pmset -g | grep hibernatemode

Laut dem alten Artikel von Macworld gilt Folgendes, aber lesen Sie unbedingt Lauris Antwort , die besagt, dass heutzutage nur 0, 3 und 25 verwendet werden sollten :

  • 0 - Ruhemodus im alten Stil, mit eingeschaltetem RAM während des Schlafens, deaktiviertem sicheren Schlaf und superschnellem Wachzustand.
  • 1 - Ruhezustand, bei dem der RAM-Inhalt auf die Festplatte geschrieben wird, das System im Ruhezustand vollständig heruntergefahren und langsamer aufgeweckt wird, da der RAM-Inhalt von der Festplatte gelesen wird.
  • 3 - Der Standardmodus auf Computern, der seit Herbst 2005 eingeführt wurde. RAM wird während des Ruhezustands eingeschaltet, RAM-Inhalte werden jedoch auch vor dem Ruhezustand auf die Festplatte geschrieben. Im Falle eines vollständigen Stromausfalls wechselt das System automatisch in den Ruhezustand.
  • 5 - Dies ist dasselbe wie in Modus 1, jedoch für Benutzer, die sicheren virtuellen Speicher verwenden (in den Systemeinstellungen »Sicherheit).
  • 7 - Dies ist dasselbe wie in Modus 3, jedoch für Benutzer, die sicheren virtuellen Speicher verwenden.

Dieselben Zahlen können verwendet werden, um die Einstellung für den Ruhemodus zu ändern:

sudo pmset -a hibernatemode 1
Arjan
quelle
11

Ich habe ein Skript geschrieben, mit dem Sie sofort in den Ruhezustand wechseln können (ohne Ihre Einstellungen dauerhaft zu ändern). Ich finde es ziemlich nützlich, da ich die Standardeinstellungen mag, aber zwangsweise in den Ruhezustand wechseln möchte, wenn ich unterwegs bin. Vielleicht findet es auch jemand anderes nützlich ;-)

#!/bin/bash

# Utility to force your mac immediately into hibernation mode/suspend to disk,
# thus conserving battery considerably (at the cost of slower startup)
# @date 2012-02-10
# @author Carl-Erik Kopseng. Contact at oligofren.wordpress.com

# must be run as root by using sudo or to avoid entering the password, change the pmset
# executable settings by entering
# sudo chmod +s /usr/bin/pmset
# sudo chmod +s /sbin/shutdown

MODE_BACKUP=/tmp/hibernate_mode.bak
SUSPEND_TO_DISK=25 #see man pmset

display_settings() {
    echo "Current settings: " $(pmset -g | grep hibernatemode)
}

save_settings() {
    echo "saving settings"
    pmset -g | grep hibernatemode | awk '{print $2}' > $MODE_BACKUP
}

restore_settings() {
    echo "restoring settings"
    pmset -a hibernatemode $(cat $MODE_BACKUP)
}

set_only_disk_hibernate() {
    echo "changing settings to only suspend to disk (slow, but does not use battery)"
    pmset -a hibernatemode $SUSPEND_TO_DISK
}

hibernate() {
    echo "going into hibernation"
    shutdown -s now
}

save_settings
set_only_disk_hibernate && hibernate
restore_settings

Hinzufügen zur Menüleiste

Wenn Sie dieses Skript über die Menüleiste ("systray") aufrufen möchten, würde ich:

  1. Stellen Sie dieses Skript an eine geeignete Stelle (wie /usr/local/sbin/).
  2. Erstellen Sie ein AppleScript, das dieses Skript einfach aufruft. Nennen Sie es "Ruhezustand"
  3. Fügen Sie Ihre Apfelskripte als Symbol in der Menüleiste hinzu

Jetzt können Sie das Skript auslösen, indem Sie auf die Menüleiste -> AppleScripts -> Ruhezustand klicken

Oligofren
quelle
1
Bitte machen Sie eine Systray-Version :)
DataGreed
Bitte machen Sie eine Systray-Version.
qed
Hallo, danke für die Kommentare. Leider hat das neuere MacBook Pro, das ich 2013 bekommen habe, eine viel bessere Standby-Leistung als mein vorheriger Mac und hält seine Akkulaufzeit viel besser. Daher besteht für mich leider kein Anreiz mehr, Cocoa zu lernen, um eine Systray-Version zu erstellen. Ich werde diesen Satz jetzt entfernen.
Oligofren
Das ist sehr interessant, wie funktioniert das? Wirkt shutdown -s nownicht sofort?
SilverWolf - Wiedereinsetzung von Monica
1
@leetbacoon fügte Anweisungen hinzu, um dies der Menüleiste hinzuzufügen. Ich habe seit ein paar Jahren keinen Mac mehr besessen, daher kann ich keine Screenshots
einfügen
9

Die Manpage von pmset empfiehlt außerdem die Verwendung von 25anstelle von 1.

0000 1000 (Bit 3) fordert den dynamischen Pager auf, inaktive Seiten vor dem Ruhezustand auszublättern, um den Speicherbedarf zu verringern.

0001 0000 (Bit 4) ermutigt den dynamischen Pager, vor dem Ruhezustand aggressiver auszulagern, um den Speicherbedarf zu verringern.

Es wird nicht empfohlen, die Einstellungen für den Ruhezustand zu ändern. Von Ihnen vorgenommene Änderungen werden nicht unterstützt. Wenn Sie dies dennoch tun, empfehlen wir die Verwendung einer dieser drei Einstellungen. Bitte verwenden Sie für und mit mir nichts anderes als 0, 3 oder 25.

[...]

hibernatemode = 25 (binär 0001 1001) ist nur über pmset einstellbar. Das System speichert eine Kopie des Speichers in einem dauerhaften Speicher (der Festplatte) und schaltet den Speicher aus. Das System wird vom Disk-Image wiederhergestellt. Wenn Sie "Ruhezustand" wünschen - langsamerer Schlaf, langsameres Wecken und bessere Akkulaufzeit, sollten Sie diese Einstellung verwenden.

Einige Laptops gehen nach etwa einer Stunde normalem Schlaf in den Ruhezustand ( Standby-Modus ), wenn:

  • Power Nap ist nicht aktiviert (also nicht standardmäßig)
  • Der Computer ist im Akkubetrieb
  • Der Computer ist nicht mit USB-Geräten oder externen Displays verbunden und nicht mit Bluetooth-Geräten gekoppelt

Laptops, Mac-Minis und iMacs verbrauchen im ausgeschalteten Zustand oder Ruhezustand etwa 0,2 bis 0,4 W und im Ruhemodus 0,8 bis 1,4 W. Der Ruhezustand (und der von Laptops standardmäßig verwendete Ruhe- und Energiesparmodus) kann auch die Lebensdauer der Laufwerke verkürzen .

Lri
quelle
6

Und für OS X Lion funktioniert dies im Ruhezustand besser

sudo pmset -a Ruhezustand 25

als

sudo pmset -a Ruhezustand 1

Im Ruhezustand 1 kann es aus irgendeinem Grund zu Abstürzen kommen.

Willem
quelle
Wofür genau steht 25?
Qed
25 ist für 0001 1001 binär, was bedeutet, dass die Bits 4, 3 und 0 gesetzt sind (die drei 1: s). Diese drei Bits teilen Ihrem Computer alle verschiedene Dinge mit. Bit 0 (0000 0001) weist Ihren Computer an, den Ruhezustand zu aktivieren (was bedeutet, dass Speicher vor dem Herunterfahren auf der Festplatte gespeichert wird). Bit 3 (0000 1000) weist Ihren Computer an, den Speicher von altem Müll zu bereinigen, bevor er auf der Festplatte gespeichert wird (damit weniger Daten auf der Festplatte gespeichert werden müssen). Bit 4 (0001 0000) weist Ihren Computer an, aggressiver zu sein, während der Speicher gelöscht wird (wodurch noch weniger Daten auf der Festplatte gespeichert werden können).
Willem
5

Bei Antworten, die darauf beruhen, den "Ruhezustand" über pmset zu ändern, ist zu beachten, dass die Option "erzwingen" für pmset die Änderungen vorübergehend macht. Die Einstellung wird nicht gespeichert, wenn das System aus dem Ruhezustand aufwacht. Zum Beispiel:

pmset -a hibernatemode 25 force

Ändert den Ruhezustand so, dass er einen herkömmlichen Ruhezustand darstellt (dh, der Systemstatus wird auf die Festplatte geschrieben und die Stromversorgung wird unterbrochen), jedoch nur bis zum nächsten Einschalten des Systems oder bis die Einstellungen von der Festplatte gelesen werden ( pmset touch).

Durch die Verwendung der Option force müssen die aktuellen Einstellungen für den Ruhezustand nicht gespeichert und wiederhergestellt werden.

user210274
quelle
Toller Tipp! Sie können meine Antwort bearbeiten, wenn Sie auch die Mühe machen :)
Oligofren
3

Jep. Es heißt sicherer Schlaf. Am einfachsten ist es, das Tiefschlaf-Widget zu verwenden .

Yanokwa
quelle
2
Ich hasse Widgets aus Leidenschaft. Gibt es etwas Nicht-Widgety?
AngryHacker
1
Für Laptop-Besitzer ist es am einfachsten, den Deckel zu schließen. Das Apple-Menü in der oberen linken Ecke bietet auch die Option "Schlaf" (zumindest bei meinem Tiger).
Tadeusz A. Kadłubowski
3

Der Ruhezustand wird auch automatisch ausgelöst, wenn der Akku Ihres Laptops vollständig entladen ist.

Bob D
quelle
2
Ein Mac mini hat keine Batterie ...
Arjan
2

Ich habe gelesen, dass "Safe Sleep" standardmäßig auf allen Intel-Macs und einigen PowerPC-Maschinen neueren Modells aktiviert ist (ich denke, die Intel-Mini-PCs unterstützen dies, die PPC-Modelle jedoch wahrscheinlich nicht - ohne nicht unterstützte Hacks).

"Sicherer Schlaf" allein ist jedoch nicht dasselbe wie "Winterschlaf". Dies ist eine Kombination aus Speichern des Arbeitsspeichers auf der Festplatte und normalem Ruhezustand. Dies ermöglicht ein schnelles Aufwecken und behält auch den Systemstatus bei, wenn die Stromversorgung während des Ruhezustands der Maschine vollständig ausfällt.

Sie können feststellen, ob ein System den sicheren Ruhezustand verwendet, indem Sie (nach mindestens einem Ruhezustand) nach einer Datei / var / vm / sleepimage suchen, die dieselbe Größe wie der installierte Arbeitsspeicher hat. Auch wenn der sichere Ruhezustand aktiviert ist, dauert es länger, bis Sie auf die Menüoption "Ruhezustand" klicken (oder die Taste drücken oder die Befehlstaste-Wahltaste-Auswerfen gedrückt halten), bevor die Statusanzeige der Maschine ihre normale Auf- / Abblendschleife startet.

Der letzte Teil der Lösung besteht darin, die Maschine nach dem Speichern des Ruhezustands-RAM vollständig auszuschalten. Es scheint möglich zu sein, dies mit dem Kommandozeilenprogramm pmset zu konfigurieren , um den Ruhezustand einzustellen . Sie können Deep Sleep ausprobieren, um diese Konfigurationsänderung auf automatisierte Weise vorzunehmen.

Chris Johnsen
quelle
Auf meinem Intel Mac mini war der sichere Schlaf nicht standardmäßig aktiviert. Ich habe SmartSleep verwendet, um es zu aktivieren, pmsetkann aber das Gleiche erreichen.
Arjan