Hibernation: dumme Idee oder machbar?

  • Ich weiß nicht, ob hier im Newbie-Bereich der beste Platz dafür ist, aber da ich selbst mich erst gut ein Jahr mit VDR beschäftige und auch sonst wenig Ahnung von Linux habe, ist es zumindest für mich angebracht, hier zu schreiben.



    Es gibt relativ viele Anwender, die die Startzeit ihres VDR als zu lang empfinden. Ich als Notebook- Nutzer (Windows XP) kenne das Feature mit Namen Hibernation (auch bekannt als Suspend to disk oder Ruhezustand).


    Ist es völlig abwegig, wenn ich mir vorstelle, dass man so etwas für den schnellen Start des VDR-Systems verwendet? Sprechen irgendwelche Gründe dagegen, dass man den Systemzustand "einfach" abspeichert und dann beim nächsten Einschalten dies lädt und an der gleichen Stelle weiter macht?



    Noch zur Betonung: ich kenne die technischen Details nicht und sehe bei Windows nur so eine Datei, in die wohl der Speicherinhalt gesichert wird, bevor der Rechner in den Ruhezustand geht. Keine Ahnung, ob es in Linux ähnlich abläuft. Mir ist diese Idee nur heute morgen beim "Schlafenlegen" meines Notebooks eingefallen und ich habe seitdem ein wenig drüber gegrübelt, aber eben nicht das Wissen, um es richtig zu durchdenken.

  • Wie lange braucht denn dein Notebook, um aus dem Hibernation Modus wieder aufzuwachen, bis es auf einen Mausklick auch reagiert? Meins deutlich über 40 Sekunden, was die Startzeit meines LinVDR-Systems ist......
    Gruß
    Dumpfbacke

    VDR1: Asus q1900 Pro M, 2GB, Cine2 Dual DVB S2,Atric USB, yaVDR 0.6 stable, Gehäuse Modushop CD21

    VDR2: RaspBerry Pi2 mit MLD 5.3 als Client
    Ausgemustert: VDR: ASUS M2N-SLI,2GB, TT1600, Zotac GT210, yaVDR 0.4 im Mozart SX Gehäuse, Atric
    Ausgemustert: VDR: Activy 300 , FF Fusi 1.3 + , Celeron 1100, Gen2Vdr AE (momentan defekt)

    Ausgemustert: VDR: Lintec Senior Gehäuse,Technotrend 1.6, Siemens D1215 Mainboard mit Celeron 1000,Pabst Lüfter, EasyVDR 0.5, KäptnKoma Display 260x64,Schäfer Front (ausgemustert)

  • Hi,


    also, Hibernation unter Windows möchte ich nicht mehr missen. Auch meine Desktoprechner werden stets nur in den S4 schlafen gelegt. Die Startzeit unter Windows läßt sich damit deutlich beschleunigen.


    Unter Linux sieht es nach meiner Erfahrung ein wenig anders aus. Ich habe das mit Suse 9.1 das letzte Mal probiert. Ergebnis: Hat genauso lange gedauert wie ein normaler Start und war sehr unzuverlässig. Ich fürchte, für den VDR bringt das keine Vorteile.


    Aber vielleicht kann ja jemand noch über positive Erfahrungen berichten?


    Viele Grüße,
    Holger

  • Prinzipiell gibt es unter Linux zwei Möglichkeiten für Hibernation:


    1.) Mit den ACPI-Schlafmodi, was allerdings nicht zufriedendstellend funktioniert und eigentlich gleich wieder vergessen werden kann.


    2.) Mit swsusp (http://www.suspend2.net/), was den Vorteil hat, dass es komplett in Software funktioniert. D.h. jeder Rechner ob mit oder ohne ACPI kann in den Tiefschlaf geschickt werden. Hierbei wird der Inhalt des Arbeitsspeichers in die Swap-Partition geschrieben und beim booten des Kernels wieder eingelesen.
    Allerdings bedarf es ein wenig einlesen in Dokumentation und das bauen eines neuen Kernels.

    VDR 1.7.15 - Debian Squeeze/Kernel 2.6.32
    Rebach-Gehäuse, Intel Atom330, Extension HD, Technisat Cablestar2

  • Also prinzipiell find ich die Idee ganz gut, aber ich seh da auch so manche Probleme.


    Die Aufwachgeschwindigkeit hängt von der RAM-Größe ab: habe ich 512 MB, so muss er auch 512 MB von der Festplatte lesen. Beim Start des VDR muss er da nie im Leben so viel reinladen. Weiß nicht, ob VDR selber überhaupt mehr als 64 MB braucht (mein System läuft mit 128 MB RAM). Der andere Speicher wird er für Caching verwendet, welcher sich aber erst im Betrieb füllt. Also hätte man dadurch schon eine zusätzliche Verzögerung.


    Ein anderes Problem ist die Firmware für die FF-DVB-Karte. Die ist ja nach dem Ausschalten des Stroms aus der Karte und müsste neu initialisiert werden. Und genau das passiert ja beim Booten. Also ein normaler Suspend-To-RAM (vielleicht noch mit ACPI) würde da nicht mehr reichen. Weiß noch, dass ich damals beim Betrieb unter Windows auch kein Standby oder ähnliches überlebt hab, wenn die TV-Software lief.


    Also müsste man dann doch wieder wie ein bissl booten und unnötig viel Speicher von der Festplatte auslesen, so dass es meines Erachtens keinen Vorteil bringt. Ich persönlich hab so ca. 50 Sekunden mit ct-VDR. Manchmal hilft auch das einfach entrümpeln des Systems, indem man sich von unnötigen Diensten trennt. Wobei LinVDR und ct-VDR seit Version 3 da schon gut entrümpelt sind.


    Manchmal sollte man auch einfach mal die lilo.conf anschauen. Denn bei ct-VDR steht da z.B. nach der Installation eine Wartezeit von 10 Sekunden drin. Diese verzögert den Start des VDR nur unnötig, da er ja da nix weiter macht.


    Außerdem isses nunmal ein PC, wo das BIOS auch erstmal ein paar Sekunden frist, bis es überhaupt mit dem Bootvorgang von der Festplatte beginnt. Hängt also auch vom verwendeten Board ab.


    Interessant ist http://www.vdr-wiki.de/wiki/index.php/VDR_Bootzeiten da haben die Leute schon das maximale aus ihren Komponenten rausgeholt, dass schafft kein Suspend-To-RAM!


    Bye, gabe!


    EDIT: Link korrigiert

    VDR User #928 - Asus P5A * K6-2 450MHz * 256MB RAM * 160GB Samsung SV1604N * Nexus-S Rev2.2 * gepanschtes c't-VDR 3.06 & Tobi's Bigpatch Experimental & Kernel/Treiber c't-VDR 4

    Einmal editiert, zuletzt von gabe ()

  • Ich habe die Geschichte mit Suspend to Disk bisher auch nur auf meinem Notebook laufen. Wenn ich das Notebook (IBM T22, P3m-800 mit 256 MB, Debian Sarge mit Eigenbau-Kernel auf Basis von 2.6.8-10) von der Konsole aus schlafen schicken, gehen sowohl das "Runterfahren" als auch Wiederherstellen deutlich schneller als auf die herkömmliche Art und Weise.


    Allerdings habe ich die Erfahrung gemacht, dass die Treiber der PCMCI-WLAN-Karte (Netgear WG511) ziemlich zickig sind. Mit laufender WLAN-Karte ist ein Suspend to Disk definitiv nicht möglich, ich muss entweder den PCcard-daemon vorher ausschalten oder die Karte am besten ganz entfernen.


    Ich befürchte, dass sich die DVB-Treiber ähnlich zickig verhalten werden. ;(

    VDR-User #992
    Server: Asrock N3700-ITX mit Cine S2 6.5 headless
    System: Ubuntu 22.04.LTS
    VDR: VDR 2.2.0 mit epgsearch, live, vnsiserver
    Client: Raspberry Pi v4 mit LibreElec

  • Zitat

    VDR Bootzeiten,
    aus VDR Wiki, der freien Wissensdatenbank


    (Dieser Artikel enthält momentan keinen Text)


    Mach mal das Komma hinter dem Link weg, dann hast Du die richtige Seite.

    VDR-User #992
    Server: Asrock N3700-ITX mit Cine S2 6.5 headless
    System: Ubuntu 22.04.LTS
    VDR: VDR 2.2.0 mit epgsearch, live, vnsiserver
    Client: Raspberry Pi v4 mit LibreElec

    Einmal editiert, zuletzt von Sledge Hammer ()

  • Zitat

    gabe schrieb
    Die Aufwachgeschwindigkeit hängt von der RAM-Größe ab: habe ich 512 MB, so muss er auch 512 MB von der Festplatte lesen. Beim Start des VDR muss er da nie im Leben so viel reinladen. Weiß nicht, ob VDR selber überhaupt mehr als 64 MB braucht (mein System läuft mit 128 MB RAM). Der andere Speicher wird er für Caching verwendet, welcher sich aber erst im Betrieb füllt. Also hätte man dadurch schon eine zusätzliche Verzögerung.


    Meiner Erfahrung nach scheint Windows dem kompletten Speicherinhalt auf die Festplatte zu schreiben. Auf meinem Desktop-Rechner (P4-3000 mit 1024 MB RAM, 160er Samsungs mit 7.200rpm) ist Suspend to Disk ziemlich störend, da es beim Shutdown einfach nur elendig lange dauert. Beim Neustart sind Hibernation und normaler Boot-Vorgang ca. gleichschnell.


    Bei meinem Notebook habe ich unter Linux den Eindruck, dass die Menge der geschriebenen Daten abhängig davon ist, was gerade auf der Kiste läuft (auffällig bei X/kein X).

    VDR-User #992
    Server: Asrock N3700-ITX mit Cine S2 6.5 headless
    System: Ubuntu 22.04.LTS
    VDR: VDR 2.2.0 mit epgsearch, live, vnsiserver
    Client: Raspberry Pi v4 mit LibreElec

  • Um auf die erste Frage zurück zu kommen:
    mein Notebook braucht etwa 10 Sekunden für das Erwachen. (IBM T42p 1 GB RAM 7200 rpm HD)


    Der Zweit-VDR auf c't-Basis mit VIA Epia nimmt sich etwa 90 Sekunden Zeit mit dem Hochlaufen. Daher meine Idee heute morgen.


    Wenn ich natürlich die Rekorde im Wiki sehe, dann scheint es auch ohne Hibernation zu gehen. Zumal man sich damit wohl nur neue Probleme einhandeln kann.



    Ich hake es dann mal unter "dumme Idee" ab.

  • Also LinVDR bootet bei mir mit optimierten Kernel in etwa 10Sekunden, der rest ist die Zeit die das BIOS braucht (11-12s)
    Ich glaube nicht das man mit Hibernate da noch viel rausholen kann. (Bei CT VDR könnte es natürlich was bringen ;) )


    XD

    Mein LinuxVDR Bastelsysten:
    --------------------
    Ahanix Viper MCE-301, Asrock B85M PRO4, Intel Pentium G3250 @ Scythe Shuriken, 4GB Kingston HyperX Savage, Corsair Force 3 & Samsung Spinpoint M7, Asus BR04B2T, Technotrend S2-1600, Powered by Seasonic S12-II 330 @ NB-BlackSilentFan XL2
    Stromverbrauch: 15 Watt Idle (Gnome Desktop), 22-24 Watt FullHD Videos (mit VLC)

    - Registered Linux-User Nr.:# 341407
    - Registered VDR-User Nr.:# 821

    Einmal editiert, zuletzt von X-Dimension ()

  • Zitat

    wobei manche anscheinend ihre Traumwerte angegeben haben ;)


    Ja, davon träume ich auch ;)


    Naja, egal. Habe ja schon beschrieben, dass man durch Suspend-To-RAM wohl mehr Probleme hat. Da muss man sich dann so tief mit Linux auseinandersetzen, dass man gleich einen optimal abgespeckten Kernel bauen kann.


    Bye, gabe

    VDR User #928 - Asus P5A * K6-2 450MHz * 256MB RAM * 160GB Samsung SV1604N * Nexus-S Rev2.2 * gepanschtes c't-VDR 3.06 & Tobi's Bigpatch Experimental & Kernel/Treiber c't-VDR 4

  • Hi,


    ob sich ein Suspend2Disk lohnt häng m.E. sehr stark davon ab,
    1) wie eng oder weit der Einsatzbereich des Rechners ist (das bedeutet nämlich, dass viele Geräte und Module geladen werden müssen)
    2) wie bereit man ist, den Bootprozess auf den Einsatzzweck zu optimieren, denn das bedeutet meistens einen Verlust an Flexibilität (Beispiel: Hotplug deaktivieren bringt etliche Sekunden, aber dann ne USB-Platte dranzuhängen is nich)
    3) wie versiert man ist in der Manipulation und Optimierung des Boot Prozesses (Beispiel: einige Optimierung findet bereits an der Initrd statt und das ist sicher nicht trivial)


    In meinem Fall basiert der VDR aus Gründen flexibler Nutzbarkeit auf einer full-blown Suse Linux Installation. Unter Version 8.2 war der Bootprozess noch in erträglichem Zeitrahmen von etwa 2min. Das hat sich nach einem Update auf 9.2 deutlich verschlechtert (~3min).


    Da der ACPI Kram auf dem Epia nicht so ganz zuverlässig läuft, habe ich auf das Software Suspend 2 (erfordert einen Kernel Patch und Manipulation der initrd) und Hibernate zurückgegriffen (auch hier muss man übrigens die Initrd manipulieren). Ein bißchen Gefrickel gabs noch mit den USB-Treibern, die werden jetzt vorm Suspend entladen. Außerdem müssen dvb und vdr gestoppt werden, was sich recht komfortabel im Konfig von Hibernate einstellen lässt. Da man dort auch einen Reboot nach dem Suspend anordnen kann, eignet sich es sich auch im Zusammenhang mit Nvram.


    Nachdem Hibernate passend konfiguriert war, reichte ein Austauschen von

    Code
    shutdown -r now


    im vdrshutdown Skript durch

    Code
    echo "hibernate" | at now


    Die Resumezeit (komplett mit Bios etc.) liegt jetzt bei ca 60 sec. Und damit bin ich schon sehr zufrieden.


    Fazit:
    * Software Suspend bringt bei komplexe Installationen Zeitvorteile
    * Software Suspend2 erfordert zwar einiges Know-How bei der Installation, ist dann aber wesentlich flexibler zu konfigurieren als Swsusp.


    --schmettow.

    VDR 1.4.0 [dvd, dvdselect, mp3ng,remote, control, graphTFT, taste, tvonscreen, streamdev-server] - FW f32623
    OpenSuse 10.0 Vanilla 2.6.15.4 - vdrconvert - Noad
    Dign HV5, Asus P4P800 deluxe, Celeron M (silent modded) - TT 1.5 - Budget-S - AVBoard 1.3 - 12" TFT
    Peripherals: Kameleon 8060 - Philips DFR-9000 - Sharp 26GA4E - Pinnacle Showcenter 1000g

  • Hallo Schmettow,


    ich habe am WE versucht mir einen TestVDR mit den Wuschfeatures aufzubauen. Also mit bootsplash und suspend2 (um zu testen was das ggf. an Zeit bringt). Dabei habe ich auch natürlich auch das init-Script in der initrd angepaßt. Aber egal wie ich es anstelle, wenn ich echo > /proc/suspend2/do_resume in die init einbaue, dann bekomme ich ne "kernel panic".


    Leider habe ich sonst nichts in Zwischennetz gefunden. Muß ich vor dem echo überprüfen, ob das wirklich ein suspend-img ist? Ach ja, ich mach ein susppend in ein file.


    Als Basis dient ne minimal FC4 + 2.6.14.4er vanilla- Kernel + bootsplash u. suspend2 patch.


    V_R.

    VDR1: POV ION 330 mit Media-Pointer MP-S2 auf yaVDR 0.3.1 - enermay 370 Watt - 80GB SSD + 500GB HD - CoolerMaster ATX-620 - VGA2Scart + HDMI
    VDR2: Zotak ZBOX ID40 auf yaVDR unstable - Sundtek DVB-S2 + remote Sundtek - 60GB SSD - HDMI
    VDR3
    : Zotak ZBOX ID40 auf yaVDR unstable - remote Sundtek - 500GB HD - DVI
    Atom 2700 mit 13W, Ubuntu PP, 60GB SDD + 240GB SSD, 2x Sundtek DVB-S2

  • Hi,


    Mann hast du ein Glück, dass ich hin und wieder mal in alte Threads reinschaue...
    Ich habe selbst das ganze Wochenende mit der Absicht vergeigt, ein Update auf 2.6.14 inkl. Suspend2 zu machen - ohne Erfolg. Aber immerhin habe ich schon nach nem halben Tag gemerkt, dass sich die Schnittstelle klammheimlich in /proc/suspend2 suspend2 geändert hat :§$%.


    Na denn: Viel Erfolg noch.
    --schmettow


    P.S. Mit dem komprimierenden Filewriter von Suspend2 kriegt der VDR seinen Hintern jetzt <30sec inkl. BIOS und Grub hoch. Ist doch sensationell, oder?


    P.P.S. Dem Gefühl nach würde ich sagen, dass das aktuelle Hibernate nen Knall hat...

    VDR 1.4.0 [dvd, dvdselect, mp3ng,remote, control, graphTFT, taste, tvonscreen, streamdev-server] - FW f32623
    OpenSuse 10.0 Vanilla 2.6.15.4 - vdrconvert - Noad
    Dign HV5, Asus P4P800 deluxe, Celeron M (silent modded) - TT 1.5 - Budget-S - AVBoard 1.3 - 12" TFT
    Peripherals: Kameleon 8060 - Philips DFR-9000 - Sharp 26GA4E - Pinnacle Showcenter 1000g

  • Hi schmettow,


    wenn Du nicht geantwortet hättest, dann hätteste halt ne PM bekommen. ;)


    Zum Thema: Wo hängt es denn bei Dir genau? Vielleicht kommen wir ja zusammen weiter. Welche Version von suspend2 nutzt du genau?


    <30sec. hört sich doch gut an. ;)


    V_R

    VDR1: POV ION 330 mit Media-Pointer MP-S2 auf yaVDR 0.3.1 - enermay 370 Watt - 80GB SSD + 500GB HD - CoolerMaster ATX-620 - VGA2Scart + HDMI
    VDR2: Zotak ZBOX ID40 auf yaVDR unstable - Sundtek DVB-S2 + remote Sundtek - 60GB SSD - HDMI
    VDR3
    : Zotak ZBOX ID40 auf yaVDR unstable - remote Sundtek - 500GB HD - DVI
    Atom 2700 mit 13W, Ubuntu PP, 60GB SDD + 240GB SSD, 2x Sundtek DVB-S2

  • Hi,


    habs nochmal gestoppt <30 is gelogen. Es sind 35. Es hing an zwei Stellen: 1) hibernate (aktuelle stable) verweigerte sich mit dem Hinweis, dass Grub und Lilo nicht passend konfiguriert sind. Hab ich mit VerifyFiilewrter No unterdrückt. Aber der Kernel 2.6.14.3 machte einfach keine Anstalten, zu resumen.


    Sorry, in diesem Jahr rühr ich das System nicht mehr an. Man sieht sich in diesem Thread mit Kernel 2.6.15 wieder, okay?


    --schmettow.

    VDR 1.4.0 [dvd, dvdselect, mp3ng,remote, control, graphTFT, taste, tvonscreen, streamdev-server] - FW f32623
    OpenSuse 10.0 Vanilla 2.6.15.4 - vdrconvert - Noad
    Dign HV5, Asus P4P800 deluxe, Celeron M (silent modded) - TT 1.5 - Budget-S - AVBoard 1.3 - 12" TFT
    Peripherals: Kameleon 8060 - Philips DFR-9000 - Sharp 26GA4E - Pinnacle Showcenter 1000g

  • Gerne, wenn ich was finde werde ich hier mal mich auslassen.


    Schöne Weinachten und Guten Rutsch.


    V_R

    VDR1: POV ION 330 mit Media-Pointer MP-S2 auf yaVDR 0.3.1 - enermay 370 Watt - 80GB SSD + 500GB HD - CoolerMaster ATX-620 - VGA2Scart + HDMI
    VDR2: Zotak ZBOX ID40 auf yaVDR unstable - Sundtek DVB-S2 + remote Sundtek - 60GB SSD - HDMI
    VDR3
    : Zotak ZBOX ID40 auf yaVDR unstable - remote Sundtek - 500GB HD - DVI
    Atom 2700 mit 13W, Ubuntu PP, 60GB SDD + 240GB SSD, 2x Sundtek DVB-S2

  • Hi,


    swsuspend (nicht 2) laeuft auf meinem IBM Thinkpad mit 2.6.14.3 prima. Resume geht ziemlich flott.


    Es ist uebrigens nicht so, dass swsuspend den GANZEN RAM-Inhalt liest und schreibt. Hier wird einfach die Swap-Funktion genutzt und alles rausgeswappt, was geht, ehe der kleine Rest (nicht so sehr viele MB) dann wirklich so rausgeschrieben wird.


    Das ist auch der Grund, warum nach dem Resume z.B. das Umschalten zu einigen grossen Programmen recht lange dauern kann.


    Windows macht das uebrigens aehnlich.


    Viele Gruesse,


    Jan

    Hardware: ASRock AM2NF3-VSTA + AMD Sempron 3200+ (1,8 GHz, meist 1,0 GHz) mit Fujitsu Siemens DVB-C FF (ohne Kabelsignal), 2 x TechniSat AirStar 2 DVB-T PCI und Terratec Cinergy T2 DVB-T USB 2.0 (als IR-Empfaenger ohne Antenne), Pollin 27x4 LCD, 1 GB DDR2, diskless, /video ueber NFS
    Software: Gentoo Linux 64 Bit (Kernel 2.6.24) mit VDR 1.4.7 aus den ebuilds mit einigen manuellen Anpassungen und wenigen Plugins (femon, dvd, remote, lcdproc)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!