Canonical hat Patches vorgeschlagen, um die Aktivierung des Schlafmodus zu beschleunigen

Kanonisches Unternehmen vorgeschlagen Auf der Mailingliste der Linux-Kernel-Entwickler gibt es eine Reihe von Patches mit Implementierung opportunistische Speicherbereinigung („opportunistische Speicherrückgewinnung“), wodurch Sie die Zeit bis zum Übergang in den Schlafmodus erheblich verkürzen können. Die Optimierung wird durch proaktives Aufrufen des Freigabevorgangs von sekundären Speicherstrukturen erreicht, die keine eindeutigen Informationen enthalten und nach der Rückkehr aus dem Ruhemodus dynamisch wiederhergestellt werden können (z. B. Bereiche). anonyme Erinnerung und verschiedene Speicherseiten-Caches). Die Grundidee besteht darin, dass nach dem Entfernen unnötiger Daten die Größe des vor dem Wechsel in den Ruhemodus zu speichernden Speicherabbilds reduziert wird und dementsprechend weniger Zeit zum Schreiben und Lesen von langsamen Medien benötigt wird.

Standardmäßig speichert der Kernel beim Speichern eines Speicherauszugs für den Ruhezustand den Speicher wie bei allen Caches, es gibt jedoch eine Standardfunktion, um unnötige Strukturen freizugeben, indem in der Anfangsphase des Eintritts in den Ruhezustand Ressourcenknappheit simuliert wird. Diese Funktion kann über den Parameter „/sys/power/image_size“ aktiviert werden und führt zu einer spürbaren Verkürzung der Zeit bis zum Übergang in den Schlafmodus. Canonical schlägt vor, zwei weitere Parameter hinzuzufügen: „/sys/power/mm_reclaim/run“ und
„/sys/power/mm_reclaim/release“, mit dem Sie die Freigabe unnötiger Strukturen im Voraus auslösen können, sodass der eigentliche Übergang in den Schlafmodus so schnell wie möglich erfolgt und die Rückkehr aus dem Schlafmodus etwa genauso lange dauert wie bei Verwendung eines im Kernel vorhandenen Parameters „/sys/power/image_size“.

Tests auf einem System mit 8 GB RAM und 8 GB Swap-Partition mit 85 % Speicherauslastung zeigten in den Standardeinstellungen (image_size=default) eine Verkürzung der Zeit bis zum Wechsel in den Ruhemodus von 51.56 auf 4.19 Sekunden beim Einleiten des Prozesses Löschen des überschüssigen Speichers 60 Sekunden vor dem Wechsel in den Schlafmodus. Schlafmodus. Durch die Reduzierung der Größe des gespeicherten Speicherabbilds verringerte sich die Wiederherstellungszeit von 26.34 auf 5 Sekunden. Als das System den Standardmodus zum Löschen von überschüssigem Speicher (image_size=0) einschaltete, wurde die Zeit bis zum Wechsel in den Schlafmodus von 73.22 auf 5.36 Sekunden verkürzt, und die Zeit bis zur Rückkehr aus dem Schlafmodus blieb praktisch unverändert (sie wurde nur um a verkürzt). Bruchteil einer Sekunde, von 5.32 auf 5.26 Sekunden).

Die vorgeschlagene Methode kann in Situationen gefragt sein, in denen ein sehr schneller Wechsel in den Schlafmodus erforderlich ist und die Notwendigkeit eines solchen Übergangs im Voraus vorhersehbar ist. Beispielsweise sind in Cloud-Systemen virtuelle Umgebungen mit niedriger Priorität (Spot-Umgebungen in Amazon EC2) kann den belegten Speicher dynamisch in den Ruhezustand versetzen und freigeben, wenn der Ressourcenverbrauch durch primäre Umgebungen steigt. Wenn die Belastung der primären Umgebungen abnimmt, kehren Umgebungen mit niedriger Priorität aus dem Ruhemodus zurück. Um unter diesen Bedingungen eine ordnungsgemäße Servicequalität aufrechtzuerhalten, ist es wichtig, die Zeit zu minimieren, die zum Wechseln in und Verlassen des Ruhemodus benötigt wird. Die präventive Reinigungsphase kann ausgelöst werden, wenn ein bestimmtes Niveau der Hauptlast erreicht wird, das dem Niveau vorausgeht, das zum Einfrieren von Umgebungen mit niedriger Priorität führt.

Source: opennet.ru

Kommentar hinzufügen