Suspend

Aus Freitag IT Wiki
Wechseln zu: Navigation, Suche


Inhaltsverzeichnis

Allgemeines

Suspesion und Hibernatíon stellen Möglichkeiten dar, den aktuellen Stand einer Session "einzufrieren".

Suspesion

Unter Suspension versteht man, das Speichern der aktuellen Session im RAM und das anschliessende Herunterfahren der Workstation in den Standby Mode. Dies entspricht "suspend to ram" oder "suspend to memory"

Hibernatíon

Hibernation entspricht im Grundsatz Suspend nur, daß die aktuelle Session auf Festplatte in einer Swap Partition gespeichert wird. Dies geht weniger zu Lasten der Batterie. Dies entspricht "suspend to disk"


Vorbereitung

Unter Linux sind diverse Vorbereitungen zu treffen

Kerneloptionen

Unter ""Power management and ACPI options"" werden benötigt

[*] Suspend to RAM and standby
[*] Hibernation (aka 'suspend to disk') 
()    Default resume partition  

Systemvorbereitungen

Für Hibernation muss eine Swap-Partition angelegt sein. Unter Kernelversionen kleiner 3.0 war es nötig, daß diese Swap-Partition einer Harddisk Partition entspricht, also nicht unter LVM verwaltet wird. Dies ist zwar für den Betrieb als Swap Partition selbst kein Problem, jedoch findet der Kernel diese Partition nicht wenn es darum geht, die Session wieder herzustellen. Das Betriebssystem ist zu diesem Zeitpunkt noch nicht so weit hoch gefahren, daß auf LVM zugegriffen werden kann. Ohne es getestet zu haben gehe ich davon aus, daß das auch zum gegenwärtigen Zeitpunkt (Kernel 3.0.4) nach wie vor so ist.

Beispiel:

01:10:53 root@skywalker:~ # fdisk -l /dev/sda
[...]
/dev/sda14          30153       30401     2000061   82  Linux Swap / Solaris

01:10:53 root@skywalker:~ # grep swap /etc/fstab
/dev/sda14     swap    swap    defaults        0       0

Diese Swap-Partition kann man im Kernel zur Compilezeit unter ""Default resume partition"" mitteilen. Alternativ kann die Information dem gerade bootende Kernel auch als Kernelparameter übergeben werden z.B. können in /etc/lilo.conf in der Zeile AddAppend die Einträge acpi_osi=Linux resume=/dev/sda14 vorgenommen werden.

Beispiel:

image = /boot/bzImage-3.0.4
  root = /dev/sda3
  AddAppend = "reboot=warm idebus=66 acpi_osi=Linux resume=/dev/sda14 i915.modeset=1" 
  label = 3.0.4


Wechsel in den Standby-Modus

Während bei Kernelversion < 3.0 noch der Umweg über das Programm acpitool notwendig war (Hibernate mit Option -S, Suspend mit Option -s) ist dies mittlerweile (Kernelversion 3.0.4) über das SYS-Filesystem möglich.

Dazu existiert ein File /sys/power/state. Beim Auslesen gibt es die vorhandenen Möglichkeiten entsprechend der Kerneloptionen aus.

Beispiel:

01:20:34 root@skywalker:~ # cat /sys/power/state
mem disk

In diesem Fall ist Suspension (to memory) und Hibernation (to disk) möglich.

Suspend

Um einen Suspend durchzuführen, muss das Wort "mem" nach /sys/power/state geschrieben werden.

Beispiel:

01:20:34 root@skywalker:~ # echo "mem" >/sys/power/state

Das System sollte nun den Suspend durchführen


Hibernate

Um einen Hibernate durchzuführen, muss das Wort "disk" nach /sys/power/state geschrieben werden.

Beispiel:

01:20:34 root@skywalker:~ # echo "disk" >/sys/power/state

Das System sollte nun den Hibernate durchführen


Wakeup aus dem Standby Modus

Beim den Wechsel aus dem Standby Modus zum Betrieb sollte die Session zum Stand des "Einfrierens" rekonstruiert werden.

Suspend

Beim Suspend to memory genügt ein Tastendruck, um aus dem Standby-Modus heraus zu kommen.

Hibernate

Um nach einem Hibernate die Session wieder zu erhalten, ist ein normaler Bootvorgang nötig. Der Kernel erkennt, daß eine Session per Hibernate gespeichert wurde und stellt diese während des Bootvorgangs wieder her.

--- Michael Freitag

Meine Werkzeuge
Namensräume
Varianten
Aktionen
Navigation
Werkzeuge