Es wurden Änderungen an den Standardeinstellungen im Vergleich zum vorherigen LTS (16.04) vorgenommen. In meinem Fall hat der Ruhezustand nicht funktioniert, bis ich mehrere Schritte ausgeführt habe. Unter anderem habe ich die Größe der Auslagerungsdatei erhöht, sie aktiviert und sichergestellt, dass Richtlinien dies zulassen.
Dies ist wahrscheinlich die längste Antwort für StackExchange. Daher habe ich versucht, die Überschriften beschreibend zu gestalten .
Stiefel, da es keinen Winterschlaf gab
Es wäre ratsam, einen Blick auf Ihre Protokolle zu werfen ( dmesg
könnte helfen) und festzustellen, ob etwas vorhanden ist. Es gibt Gründe, aus denen das System trotz Aufforderung zum Ruhezustand nicht in den Ruhezustand versetzt wird oder stattdessen in den Ruhezustand versetzt wird (Ruhezustand).
Es würde auch nicht schaden, Nachrichten im Zusammenhang mit dem Ruhezustand zu lesen kern.log
und danach zu syslog
suchen. Abschnitte, die mit "Problem" beginnen, können bei bestimmten Problemen hilfreich sein.
Swap-Datei oder Swap-Partition
Eine der wichtigsten Änderungen ist, dass Sie jetzt KEINE Swap-Partition haben, sondern eine Swap-Datei.
Die Auslagerungsdatei funktioniert möglicherweise nicht für Ihre Mischung aus Hardware / Treiber / Betriebssystem und Ruhezustand.
Ruhezustand ausgeschaltet
Richtlinien können auch den Ruhezustand deaktivieren oder nicht zulassen.
Jargon
Anhalten im RAM - RAM speichert die Daten, der Computer geht schneller in den Energiesparmodus, verbraucht im angehaltenen Zustand mehr Energie und wacht schneller auf. Manche nennen das Schlaf.
Auf Festplatte anhalten - auch Ruhezustand genannt. Der Arbeitsspeicher wird zum Auslagern (Partition oder Datei) gespeichert, der Computer geht langsamer in den Ruhezustand, verbraucht im Ruhezustand weniger Energie und wacht langsamer auf.
Voraussetzungen - Haben Sie genügend Platz?
Um in den Ruhezustand zu wechseln, müssen Sie (Vereinfachung hier) Ihren gesamten Arbeitsspeicher auf Ihrer Festplatte speichern. Sie müssen also genügend Platz dafür zur Verfügung stellen. Wenn Sie dies nicht tun, wird dies fehlschlagen und Sie werden nicht in den Ruhezustand versetzt.
free -m
wird Ihnen sagen, wie viel Speicher Sie haben, verwenden und wie viel in Ihrem Swap ist.
df -h
Hier erfahren Sie, wie viel Speicherplatz auf jedem Einhängepunkt vorhanden ist und wie viel Speicherplatz belegt, frei usw. ist. Dies ist wichtig, da Sie möglicherweise später angeben möchten, wo sich Ihre Auslagerungsdatei befindet oder welche Partition "zugeschnitten" werden soll genug platz für deinen austausch.
cat fstab
sollte Ihnen Informationen geben, wenn Sie eine Swap-Partition oder -Datei haben. Laut Ubuntu Hibernation swapfile
funktionieren FAQs möglicherweise nicht immer mit jeder Kombination von Hardware / Treibern.
Wenn Sie nicht über genügend Speicherplatz verfügen, lesen Sie die häufig gestellten Fragen zu Ubuntu Swap . Hier erfahren Sie, wie Sie die Auslagerungsdatei vergrößern, eine weitere hinzufügen, prüfen, ob sie verwendet wird usw. Mit Befehlen und Erklärungen. Wirklich schöne Ressource.
Ich habe nicht genug Platz für meinen Arbeitsspeicher!
Kernel-Dokumente sagen:
/ sys / power / image_size steuert die Größe des vom Suspend-to-Disk-Mechanismus erstellten Images. Es kann eine Zeichenfolge geschrieben werden, die eine nicht negative Ganzzahl darstellt, die als Obergrenze der Bildgröße in Byte verwendet wird. Der Suspend-to-Disk-Mechanismus wird sein Bestes tun, um sicherzustellen, dass die Bildgröße diese Anzahl nicht überschreitet. Wenn sich herausstellt, dass dies nicht möglich ist, wird trotzdem versucht, mit dem kleinstmöglichen Bild anzuhalten. Insbesondere wenn "0" in diese Datei geschrieben wird, wird das Suspend-Image so klein wie möglich. Beim Lesen dieser Datei wird die aktuelle Bildgrößenbeschränkung angezeigt, die standardmäßig auf 2/5 des verfügbaren Arbeitsspeichers festgelegt ist.
Versuchen Sie also, die Bildgröße anzupassen. Wie - bitte eine andere Frage stellen.
Voraussetzungen - Unterstützt Ihr Kernel Suspend-to-Disk?
Kernel unterstützt alles, was in aufgeführt ist /sys/power/state
, also:
cat /sys/power/state
Erlaubt (meines Wissens) Einträge dort sind: mem
, standby
, freeze
, disk
. Erläuterung:
mem
- hat mehrere Bedeutungen, die Sie auf Ihrem System über erfahren cat /sys/power/mem_sleep
. Ich habe:s2idle [deep]
standby
- Power-On Suspend (falls unterstützt)
freeze
- Standby (STI)
disk
- Suspend To Disk (STD), Ruhezustand . Das - du willst.
Dann müssen wir überprüfen cat /sys/power/disk
. Wenn Sie dort sind, disabled
suchen Sie in Ihrem BIOS nach Secure Boot - das ist die einzige Idee, die ich anbieten kann, und nur das, was ich weiß, kann den Ruhezustand stören und ausschalten. Ich kenne zwar nur SecureBoot, es kann aber auch zu anderen Interferenzen kommen. Ein Blick in Ihr BIOS ist daher eine gute Idee, auch wenn Sie dort keinen "sicheren Start" haben.
Hier lesen:
- Kernel-Dokumente
- Debian-Wiki im Ruhezustand
TBH, auch wenn Ihr Kernel den Ruhezustand NICHT unterstützt, können Sie es auf andere Weise versuchen. Scrollen Sie nach unten zum AbschnittInterfaces
.
Lesen Sie dies - Warnungen und Probleme - keine BTRFS
In keiner bestimmten Reihenfolge:
- Es funktionieren nicht alle Chipsätze (ich kann hier keine Quellen anführen, also sagen wir mal, das ist Hörensagen)
- VAIO hat Probleme, angeblich gibt es eine Flagge, die ihnen entgegenwirkt
- SecureBoot wird häufig als Störung oder Deaktivierung des Ruhezustands bezeichnet
- Wake-on-LAN verbraucht auch im Ruhezustand Strom
- Die Anzahl der Module (insbesondere Grafiken) kann initialisiert werden, BEVOR Ihr System den Ruhezustand ordnungsgemäß beendet - dies ist normalerweise die Ursache für einen schwarzen Bildschirm, wenn Sie den Ruhezustand fortsetzen . Im ArchLinux-Wiki finden Sie Tipps zum Debuggen von Problemen. Ich würde auch Ubuntu FAQ zu Problemen mit dem Ruhezustand vorschlagen. Das Durchsuchen von Launchpad-Fehlern kann ebenfalls zu Ergebnissen führen. IIRC gibt es einen Kernel-Parameter , der in Sekunden eine Verzögerung vor dem Fortsetzen angibt.
- Das Zulassen des Ruhezustands ist für verschiedene Polkit-Versionen unterschiedlich
Verwenden Sie kein BTRFS und gehen Sie nicht in den Ruhezustand: Beschädigte Daten sind die Folge.
Ich möchte in den Ruhezustand wechseln - Partition tauschen
Es gibt Fälle, in denen die Leute auf die Auslagerungsdatei verzichten und zur Auslagerungspartition zurückkehren. Immerhin funktionierte es auf früheren LTS. Ich habe es nicht versucht, biete also keine Hinweise an.
Ich möchte in den Ruhezustand wechseln - mit Auslagerungsdatei
- Stellen Sie sicher, dass Sie dort genügend Platz haben. Ubuntu Swap FAQ sagt Ihnen, wie viel Sie brauchen, Befehle von oben tun dies auch. Wenn Sie hier weitere Informationen benötigen, stellen Sie bitte eine andere Frage, da dies ein langwieriges Thema ist.
- Erhöhen Sie die Auslagerungsdatei, oder erstellen Sie eine neue Datei mit ausreichender Größe (ich stimme @muru zu ), und ändern Sie die Datei in
/etc/fstab
eine neue. Ein Neustart, um zu sehen, ob Änderungen vorgenommen wurden, ist gut (speichern Sie die Sicherungskopie, fstab
damit Sie sie für alle Fälle problemlos wiederherstellen können).
- Richten Sie Ihren Kernel mit den entsprechenden Parametern darauf, damit er weiß, wo er weitermachen kann.
- Aktualisieren / konfigurieren Sie Ihren Bootloader und starten Sie ihn neu.
Kernel-Parameter? Unheimlich!
Lesen und entscheiden Sie sorgfältig, ob Sie das tun möchten, aber es ist nur eine Möglichkeit, Ihren Kernel zu konfigurieren. Es ist möglicherweise einfacher, über systemd
und in den Ruhezustand zu wechseln uswsusp
(siehe Schnittstellen unten). Es kann sein, dass Sie - wie ich - letztendlich entscheiden, dass das Aufheben des Arbeitsspeichers ausreicht, und dass Sie keine 32 GB in einer Auslagerungsdatei haben möchten (zum Beispiel nicht so gut für Leute mit einer SSD in ihren Laptops). Aber!
- Für den Ruhezustand zum Auslagern einer Datei muss bekannt sein,
resume=
auf welcher Partition sich Ihre Auslagerungsdatei befindet und resume_offset=
wo in der Auslagerungsdatei die Fortsetzung beginnen soll.
- Für den Ruhezustand in eine Partition muss ein
resume=
Punkt zum Auslagern der Partition angegeben werden.
- Das Lösen von Problemen mit dem schwarzen Bildschirm kann durchaus erforderlich sein
resumedelay=
.
Kernel-Dokumentation zur Verzögerung der Wiederaufnahme des Ruhezustands:
resumedelay = [HIBERNATION] Verzögerung (in Sekunden) bis zum Versuch, die Wiederaufnahmedateien zu lesen
Erforderliche Parameter für Auslagerungsdatei und Ruhezustand :
resume = [SWSUSP]
Specify the partition device for software suspend
Format:
{/dev/<dev> | PARTUUID=<uuid> | <int>:<int> | <hex>}
resume_offset = [SWSUSP]
Specify the offset from the beginning of the partition
given by "resume=" at which the swap header is located,
in <PAGE_SIZE> units (needed only for swap files).
See Documentation/power/swsusp-and-swap-files.txt
Für den resume=
im gleichen Stil wählen , als root
Element in fstab
. Also entweder /dev/sdaX
oder UUID
oder LVM. Für den Ruhezustand in eine Datei - stellen Sie eine Partition bereit, auf der sich Ihre Datei befindet.
Lesen:
- https://www.kernel.org/doc/Documentation/admin-guide/kernel-parameters.txt
- https://wiki.archlinux.org/index.php/Kernel_parameters
Problem - Swap-Header nicht gefunden
Die Auslagerungsdatei muss ordnungsgemäß formatiert sein. Wenn Ihnen dies in Ihren Protokollen mitgeteilt wird, versuchen Sie entweder, eine Datei in den Ruhezustand zu versetzen, oder Ihr Wiederaufnahmeparameter stimmt nicht.
Wechseln Sie zur Partition oder reparieren Sie die Datei oder ändern Sie die Schnittstelle, die für den Ruhezustand verwendet wird.
Siehe: /unix/43508/debian-hibernate-problem-pm-swap-header-not-found
mkswap
wird zum Formatieren von Dateien verwendet. Weitere Informationen finden Sie hier
Problem! Ruhezustand nicht erlaubt!
Test: pm-hibernate
(wenn das Paket pm-utils installiert ist) oder systemctl hibernate
sagen Sie, dass Sie nicht erlaubt sind. Standardeinstellung in Ubuntu seit IIRC 12.04.
Lösung (en): hängt von Ihrer Polkit-Version, Ihrer Ubuntu-Version und Ihrem Geschmack ab ... Siehe diese Frage . Auch ArchWiki auf Polkit kann helfen.
Informationen zu Mint finden Sie unter: https://forums.linuxmint.com/viewtopic.php?t=259912
Problem! Ruhezustand durch etwas im BIOS deaktiviert!
Test: cat /sys/power/disk
hat disabled
. In den Protokollen wird angezeigt, dass das System nicht über logind in den Ruhezustand versetzt werden konnte: Sleep-Verb wird nicht unterstützt.
Lösung: Durchsuchen Sie Ihr BIOS und finden Sie das Problem. Schalte es aus.
Lösung 2: Versuchen Sie es mit einer anderen Schnittstelle für den Ruhezustand.
Siehe: So aktivieren Sie den Ruhezustand in 16.04.1? (systemd) .
Schnittstellen
- swsusp - Kernelschnittstelle auf niedriger Ebene. Siehe Voraussetzungen - Kernel für welche Dateien. Das direkte Schreiben in Dateien kann zum Anhalten führen (auf RAM, Festplatte und Hybrid). Laut SwapFAQ problematisch mit Ruhezustand zu Datei.
- uswsusp - ArchWiki und Debian Wiki und nette AskUbuntu-Frage mit einer Beschreibung, wie man es benutzt .
- systemd - ArchWiki darauf
- pm-utils - AFAIK ist eine Sammlung von Skripten, die ursprünglich aus Debian stammen. Ich freue mich, weitere Informationen zu erhalten.
Schlußbemerkungen
Für mich war es eine Frage von fast zwei Arbeitstagen, das zusammenzustellen. Hoffentlich hilft dies Ihnen (und anderen) dabei, Ihr Problem schneller zu lösen. Es gibt immer noch Punkte, die ich verpasst habe, aber es ist 2 Uhr morgens und ich habe keine Lust mehr zu schreiben. Ich bin natürlich offen für jedermanns Hinweise, um dies zu verbessern, also kommentieren Sie weg. Ich werde antworten, sobald ich schlafe, arbeite usw. :-)
Ich bin mir nicht sicher, ob der Ruhezustand auf der Festplatte so großartig ist. Am Ende ging ich schlafen. Aber für mich war es ein Problem, eine 32-GB-Datei zu haben, nur um in der Lage zu sein, den Ruhezustand zu machen, da ich normalerweise das Tauschen überhaupt vermeide. Meine ursprüngliche Auslagerungsdatei hatte 2 GB und war größtenteils leer. YMMV. Trotzdem viel Glück! Und fangen Sie mit den Protokollen an!