Frage Ruhezustand: Frühere Warnung, wenn nicht genügend freier Swap-Speicherplatz vorhanden ist


Wenn Sie sich im Ruhezustand befinden und nicht genügend freier Austausch vorhanden ist, wird eine Nachricht angezeigt nach Die gesamte Desktopumgebung ist geschlossen.
  Daher ist ein Neustart nur möglich.

Kann ich per Skript (oder irgendetwas anderem) überprüfen, ob genügend Swap-Speicherplatz vorhanden ist? Vor alles ist geschlossen?

Vielen Dank


0
2017-09-01 13:04


Ursprung




Antworten:


Das Problem, das Sie hier sehen, ist, dass der Kernel genügend freie Swap-Seiten zuweisen muss, um das Hibernate-Image zu schreiben, und dies beinhaltet auch einen gewissen Metadaten-Overhead. Leider kann der Kernel nur herausfinden, wie viele Seiten geschrieben werden müssen, um ihn zu tauschen, nachdem er die Prozesse stillgelegt hat, und dies ist spät im Hibernate-Prozess. Der Hibernate in der Theorie sollte auslaufen, wenn es nicht genügend freie Seiten gibt und Sie zurück zu einem laufenden System bringen, so dass die Tatsache, dass Sie scheinbar neu starten müssen, für mich wie ein Fehler aussieht.

Als Faustregel gilt, dass man normalerweise Swap-Größen von ~ 2 x der Größe des verfügbaren Arbeitsspeichers wählt, so dass das Auslaufen von Swap im Ruhezustand nicht wirklich fehlschlagen sollte, weil es keinen freien Austausch gibt; es ist jedoch ein wenig komplexer aufgrund der Möglichkeit, dass Seiten bereits ausgelagert sind, und des geringen Metadatenaufwands, der zum Schreiben des Hibernate-Bildes erforderlich ist.


1
2017-09-01 18:54



Zuerst einmal vielen Dank für Ihre Antwort! Ist die erforderliche Größe auf Auslagerungsspeicher nicht gleich dem zugewiesenen Arbeitsspeicher? Und gibt es eine Möglichkeit, dem System mitzuteilen, dass es den Auslagerungsspeicher für den Ruhezustand löschen soll? - Achim A