WSL 2 verfügt jetzt über eine Funktion zur Speicherrückgewinnung
Mit der Veröffentlichung von Windows 10 Build 18917 führte Microsoft WSL 2 für Insider ein, das Windows-Subsystem für Linux 2. Es liefert einen echten Linux-Kernel mit Windows aus, der volle Systemaufrufkompatibilität ermöglicht. Dies ist das erste Mal, dass ein Linux-Kernel mit Windows ausgeliefert wird. Windows 10 Build 19013 fügt eine weitere großartige WSL 2-Funktion hinzu – Memory Reclaim, die es dem Hostsystem ermöglicht, Speicher wiederzuverwenden, der von keinem Linux-Prozess mehr benötigt wird.
Werbung
Früher, wenn der Speicherbedarf der virtuellen WSL2-Maschine (VM) entweder aufgrund Ihres Workflows oder aufgrund von dem Linux-Kernel würde der der VM zugewiesene Gesamtspeicher ebenfalls wachsen, indem mehr Speicher von der VM zugewiesen wird Gastgeber. Sobald der Workflow jedoch abgeschlossen ist, wird der Speicher, der vom Workflow nicht mehr benötigt wird, nicht an den Host zurückgegeben. Wenn der Speicher in Linux jetzt nicht mehr benötigt wird, kann er mit der Speicherrückgewinnung in WSL 2 an den Host zurückgemeldet werden, wo er freigegeben wird und Ihre WSL 2-VM in der Speichergröße schrumpft.
Vor:
Nach:
Sehen Sie sich das folgende Video an:
Wie es funktioniert
Diese Funktion wird von einem Linux-Kernel-Patch Dadurch können kleine zusammenhängende Speicherblöcke an den Host-Rechner zurückgegeben werden, wenn sie im Linux-Gast nicht mehr benötigt werden. Das WSL-Team hat die Linux-Kernel in WSL2 um diesen Patch einzuschließen, und Hyper-V modifiziert, um diese Seitenberichterstattungsfunktion zu unterstützen. Um so viel Speicher wie möglich an den Host zurückzugeben, komprimiert WSL regelmäßig den Speicher, um sicherzustellen, dass freier Speicher in zusammenhängenden Blöcken verfügbar ist. Dies wird nur ausgeführt, wenn Ihre CPU im Leerlauf ist. Sie können sehen, wann dies geschieht, indem Sie in der Ausgabe des nach der Meldung „WSL2: Performing memory compaction“ suchen dmesg
Befehl. Wenn Sie ein Power-User sind, können Sie dieses Verhalten konfigurieren, indem Sie die Werte in bearbeiten .wslconfig. Bitte überprüfen Sie die WSL 19013-Versionshinweise um diese Optionen zu sehen. Wenn Sie diesen Linux-Befehl alternativ manuell ausführen möchten, können Sie den Befehl ausführen echo 1 > /proc/sys/vm/compact_memory
als Root-Benutzer.
Weitere technische Details und Beispiele finden Sie im offizieller Blogbeitrag.