Das Aufwachen des Macbooks dauert 20 Sekunden

Das Aufwachen des Macbooks dauert 20 Sekunden

Kubuntu 20.04 auf dem Macbook Air lässt sich problemlos in den Ruhezustand versetzen, braucht aber jedes Mal zu lange zum Aufwachen, etwa 20 Sekunden.

Es scheint sich um einen normalen Ruhezustand bzw. Energiesparmodus und nicht um einen Fall von Hibernation zu handeln, da dies systemctl suspenddasselbe Verhalten auslöst.

laufen, aufwachen und dann laufen

journalctl -b --since "1min ago"

Ich bekommeDas(auf Pastebin). Dort wird der Ruhezustand nicht erwähnt.

Was Speicher und Swap betrifft, denke ich, dass genügend RAM vorhanden ist:

~$ free -h
               total        used        free      shared  buff/cache   available
Mem:           3,8Gi       703Mi       1,7Gi       162Mi       1,4Gi       2,7Gi
Swap:          2,0Gi       440Mi       1,6Gi

Antwort1

Kurze Antwort:

Im Jahr 22.04:

echo deep | sudo tee -a /sys/power/mem_sleep

Wenn das oben genannte in 22.04 nicht funktioniert oder wenn dies in 22.10, 23.04 oder höher passiert:

echo s2idle | sudo tee -a /sys/power/mem_sleep

Die Lösung funktioniert möglicherweise nach Kernel-Updates und sogar nach Neustarts nicht mehr.Ein Skript mit dem benötigten Befehl kann beim Neustart ausgeführt werden.

Der erste Teil ist etwas widersprüchlich, denn deepes sollte immer der lange Weckruf und s2idleder kurze Weckruf ausgelöst werden, wie gesagtHier. Wahrscheinlich war bei mir in der Version 22.04 irgendwas fehlerhaft, wobei zumindest scheinbar manchmal das Gegenteil der Fall war.


Lange Antwort:

Sehr bald nachdem ich diese Frage gepostet hatte, bin ich auf eine Lösung gestoßen, die zu funktionieren schien: auf UbuntuforumsHier, mit weiteren Ratschlägen als Antwort darauf,Hier.

Ich verstehe nicht wirklich, wie das funktioniert hat, vielleicht liegt ein Fehler vor. In diesem Beitrag heißt es, die Lösung bestehe darin, /sys/power/mem_sleepvon s2idlezu zu wechseln deep. Das war mir nicht klar, weil die Datei beim Nachschlagen nur diese eine Zeile enthielt:

s2idle [deep]

was bedeutet, dassdeep wurde bereits ausgewählt(!!) — ganz zu schweigen davon, dass, wie oben gesagt, das gegenteilige Verhalten zu erwarten war. —

Ich habe verstanden, was der Befehl macht, nachdem ich danach gefragt habeHier.

Wie in den ersten Kommentaren im Ubuntu-Forum beschrieben, habe ich nicht versucht, die Datei als solche zu ändern, sondern habe den folgenden Befehl verwendet (der auch auf dem zweiten Kommentar basiert):

echo deep | sudo tee -a /sys/power/mem_sleep

Wenn man sich die Datei noch einmal ansieht, scheint sie unverändert zu sein. Auch nach dem Neustart war sie noch da s2idle [deep], aber zu diesem Zeitpunkt war dieDas Aufwachen aus dem Ruhezustand erfolgte sofort! (Was, soweit ich im Nachhinein weiß, wie gesagt das Gegenteil von dem war, was erwartet wurde: deeplanges Aufwachen bedeuten sollte!)

Es scheint, dass die Datei durch diesen Befehl nicht verändert wurde, aberetwaswurde geändert – egal, ob es sich auf die Datei bezieht oder nicht.

Das Ändern in [s2idle] deepmit einem entsprechenden Befehl echo s2idle | sudo tee -a /sys/power/mem_sleep(um dies ein wenig zu untersuchen, wie in den Kommentaren zur verlinkten Frage beschrieben) hat das 20 Sekunden lange Aufwachproblem behobennichtwieder erscheinen.

Möglicherweise war ein Fehler im Spiel, den ich nicht verfolgen kann.

Nach einigen Kernel-Updates trat das ursprüngliche Problem erneut auf und wurde auf die gleiche Weise behoben. (Tatsächlich /sys/power/mem_sleeplag die Datei bereits in der Form vor, die der Befehl auslösen soll, aber letztere wird trotzdem benötigt.)


Update (24. Okt. 2022):

Nach einem neuen Update funktionierte die obige Lösung nicht mehr - aber die entgegengesetzte Lösung funktionierte: echo s2idle | sudo tee -a /sys/power/mem_sleep, was darauf hinausläuft, das gleiche zu tunGegenteildem, wozu mich meine Quellen veranlasst haben.

Das kam mir in diesem Moment bizarr vor, aber jetzt verstehe ich, dass dies eigentlich die ganze Zeit das erwartete Verhalten war: Was vorher passiert war, war merkwürdig und fehlerhaft, und das neue Update hat das behoben; s2idlees soll das schnelle Aufwachen beweisen.

Nach dem Update auf die „normale“ Version 22.10 schien das Problem für eine Weile behoben, während die Datei /sys/power/mem_sleepzurückgesetzt aussah deep. Aber das Problem mit der 20-sekündigen Weckverzögerung trat erneut auf und wurde wie oben unter Update 2 beschrieben behoben. Erneut bestätigt nach einer Neuinstallation von Kubuntu 22.10: Nachdem das Problem einen Monat lang toleriert wurde (nur um zu sehen, ob es anderweitig behoben werden könnte), half der erste Befehl nicht, der zweite schon (Februar 2023).


Da dieses Problem weiterhin besteht (z. B. in 23.04 – und zwischen den Updates recht häufig erneut auftritt), habe ich ein schnelleres Verfahren zum Ausführen dieses Befehls vom Anwendungsstarter aus eingerichtet, indem eine Skriptdatei fix_suspendin folgender Form erstellt wird:

#!/bin/sh
echo s2idle | sudo tee -a /sys/power/mem_sleep

und eine Datei ~/.local/share/applications/Fix suspend.desktopmit der Zeile (angepasst für Plasma):

Exec=pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY KDE_SESSION_VERSION=5 KDE_FULL_SESSION=true /path/to/fix_suspend

Nach einer Weile funktionierte die Lösung nach dem Neustart nicht mehr, daher musste ich das Skript beim Neustart ausführen lassen, wie in der kurzen Antwort am Anfang angegeben.

verwandte Informationen