Sonntag, 30. September 2012

Standbymodus auf dem Macbook Air optimieren und Einfrieren minimieren

Seit Tagen kämpfe ich mit dem Problem, dass mein Macbook Air beim aufwachen aus dem Standby (genauer gesagt aus dem Suspend to Disk) immer wieder einfriert. Das Problem tritt auf, seitdem ich das EFI Update auf die Boot-ROM-Version MBA31.0061.B07 vorgenommen habe. Witzigerweise sieht Apple keine Möglichkeit vor, ein erfolgreiches EFI-Update wieder rückgängig zu machen und auch ein Reset des System Management Controllers brachte keine Besserung.

Also gut, steigen wir mal kurz tiefer in die Materie ein. Zunächst muss man wissen, dass Apple im großen und ganzen 3 Ruhezustandsmodi (hibernatemode) unterscheidet:

  • 0 - Suspend to RAM only
  • 1 - Suspend to Disk only
  • 3 - Suspend to disk + RAM

Der Modus 3 ist dabei die Standard-Einstellung. Das Macbook Air wechselt erst in das weniger tiefe Suspend to RAM und nach einer bestimmten Zeit in den Modus Suspend to Disk (Deepsleep). Auf diese Weise kann Apple eine Standybyzeit von rund 30 Tagen versprechen, da das Air im Deepsleep kaum Energie verbraucht. Das Problem ist allerdings, dass das Aufwachen aus dem Deepsleep auf meinem Late 2010 MBA mit 4 GB RAM schon so rund 20 Sekunden dauert und zudem seit dem EFI Update in rund 25% der Fälle fehlschlägt.

Eine Möglichkeit wäre es nun den hibernatemode auf Modus 0 zu setzen, was für Desktop-Macs der Standard-Modus ist. Das geht auch ohne Probleme im Terminal mit dem folgenden Befehl:

sudo pmset -a hibernatemode 0

Der große Nachteil ist allerdings, dass das MBA danach nie wieder in den Deepsleep wechselt und im Falle des Leerlaufens des Akkus (Bei voller Ladung nach ca. 4 - 5 Tagen im Mode 0) die Gefahr des Datenverlusts droht.

Insofern ist es eigentlich interessanter anzupassen, wann das MBA vom Suspend to RAM zum Suspend to Disk wechselt. Der default Wert lässt sich ebenfalls recht einfach auslesen:

pmset -g

Ergibt folgende Rückgabe

Active Profiles:
Battery Power -1*
AC Power -1
Currently in use:
standbydelay 4200
standby 1
halfdim 1
hibernatefile /var/vm/sleepimage
darkwakes 0
disksleep 10
sleep 45
hibernatemode 3
ttyskeepawake 1
displaysleep 5
acwake 0
lidwake 1

Von besonderen Interesse ist dabei der Wert standbydelay. Er gibt in Sekunden an wann das Air vom Suspend to RAM nach Suspend to Disk wechselt und ist standardmäßig mit 70 Minuten vorbelegt. Um jetzt nicht vollkommen auf Suspend to Disk verzichten zu müssen habe ich diesen Wert nun einmal probeweise auf 36 Stunden verlängert:

sudo pmset -a standbydelay 129600

In der Regel hängt das AIR bei mir eh alle 24 Stunden irgendwann mal am Ladekabel und ich hoffe damit die Deepsleep-Probleme soweit zu verringern bis Apple ein weiteres EFI-Update rausbringt.

1 Kommentar:

  1. Hallo,

    hab dein Artikel gerade über die Google-Suche gefunden.
    Ich find den super, da man sonst keine Lösung für das Problem findet. Gibt es der schon eine bessere Lösung?
    Oder behebt die verlängerung auf 36 Stunden alles?

    AntwortenLöschen