Microsoft hat in WSL2 (Windows Subsystem für Linux) die Rückgabe von Speicher an das System implementiert

Microsoft kündigte die über die Erweiterung der Funktionen der WSL2-Schicht (Windows Subsystem for Linux), die den Start von ausführbaren Linux-Dateien unter Windows gewährleistet. In experimentellen Builds Windows-Insider (Build 19013) in der WSL2-Schicht ist Unterstützung für die Rückgabe von Speicher an das System (Memory Reclamation) erschienen, der von Prozessen freigegeben wird, die in einer Umgebung ausgeführt werden, die auf dem Linux-Kernel basiert.

Früher wurde im Falle eines Anstiegs des Speicherverbrauchs durch Anwendungen oder den Kernel Speicher der virtuellen WSL2-Maschine zugewiesen, danach blieb er jedoch fixiert und wurde nicht an das System zurückgegeben, selbst nachdem der ressourcenintensive Prozess dort beendet wurde Der zugewiesene Speicher wurde nicht mehr benötigt. Mit dem Memory Reclamation-Mechanismus können Sie freigegebenen Speicher an das Hauptbetriebssystem zurückgeben und die Größe des Speichers der virtuellen Maschine automatisch reduzieren. Dadurch wird nicht nur der durch Benutzerprozesse freigegebene Speicher zurückgegeben, sondern auch der für das Caching im Linux-Kernel verwendete Speicher. Beispielsweise vergrößert sich bei hoher Festplattenaktivität die Größe des Seitencaches, in dem bei laufendem Dateisystem die Inhalte von Dateien abgelegt werden. Nach der Ausführung von „echo 1 > /proc/sys/vm/drop_caches“ kann der Cache geleert und der Speicher an das Hauptbetriebssystem zurückgegeben werden.

Die Implementierung von Memory Reclamation basiert auf
Patch, von Intel-Ingenieuren zur Aufnahme in den Haupt-Linux-Kernel vorgeschlagen, um die Fähigkeiten des Virtio-Ballon-Treibers und des Speicherverwaltungssystems zu erweitern. Der angegebene Patch ist für den Einsatz in beliebigen Gastsystemen konzipiert, um ungenutzte Speicherseiten an das Hostsystem zurückzugeben, und kann mit verschiedenen Hypervisoren verwendet werden. Im Fall von WSL2 ist der Patch so angepasst, dass er Speicher an den Hyper-V-Hypervisor zurückgibt.

Denken Sie daran, dass die zweite Ausgabe von WSL anders Bereitstellung eines vollwertigen Linux-Kernels anstelle eines Emulators, der Linux-Systemaufrufe im Handumdrehen in Windows-Systemaufrufe übersetzt. Lieferung in WSL2 der Linux-Kernel Basierend auf Version 4.19, die in einer Windows-Umgebung unter Verwendung einer virtuellen Maschine ausgeführt wird, die bereits in Azure ausgeführt wird. Aktualisierungen des Linux-Kernels werden über den Windows Update-Mechanismus bereitgestellt und anhand der kontinuierlichen Integrationsinfrastruktur von Microsoft getestet. WSL2-spezifische Kernel-Patches umfassen Optimierungen, um die Kernel-Startzeit zu verkürzen, den Speicherverbrauch zu reduzieren und den Kernel mit dem minimal erforderlichen Satz an Treibern und Subsystemen zu belassen.

Source: opennet.ru

Kommentar hinzufügen