Microsoft implementeerde in WSL2 (Windows Subsystem for Linux) de terugkeer van geheugen naar het systeem

Microsoft kondigde het over het uitbreiden van de mogelijkheden van de WSL2-laag (Windows Subsystem for Linux), die zorgt voor de lancering van uitvoerbare Linux-bestanden op Windows. In experimentele builds Windows Insider (build 19013) in de WSL2-laag is ondersteuning verschenen voor het retourneren van geheugen naar het systeem (Memory Reclamation), vrijgegeven door processen die draaien in een omgeving gebaseerd op de Linux-kernel.

Voorheen werd, in het geval van een toename van het geheugengebruik door applicaties of de kernel, geheugen toegewezen aan de virtuele WSL2-machine, maar daarna bleef het vastgezet en werd het niet teruggestuurd naar het systeem, zelfs nadat het resource-intensieve proces was beëindigd en er er was geen verdere behoefte aan het toegewezen geheugen. Met het Memory Reclamation-mechanisme kunt u vrijgemaakt geheugen teruggeven aan het hoofdbesturingssysteem en automatisch de grootte van het geheugen van de virtuele machine verkleinen. Dit retourneert niet alleen het geheugen dat is vrijgemaakt door gebruikersprocessen, maar ook het geheugen dat wordt gebruikt voor caching in de Linux-kernel. Bij hoge schijfactiviteit neemt bijvoorbeeld de grootte van de paginacache toe, waarin de inhoud van bestanden wordt gedeponeerd wanneer het bestandssysteem actief is. Na het uitvoeren van "echo 1 > /proc/sys/vm/drop_caches" kan de cache worden gewist en kan het geheugen worden teruggezet naar het hoofdbesturingssysteem.

De implementatie van Memory Reclamation is gebaseerd op
lapje, voorgesteld door Intel-ingenieurs voor opname in de belangrijkste Linux-kernel om de mogelijkheden van de virtio-ballondriver en voor het geheugenbeheersysteem uit te breiden. De gespecificeerde patch is ontworpen voor gebruik in alle gastsystemen om ongebruikte geheugenpagina's terug te sturen naar het hostsysteem en kan worden gebruikt met verschillende hypervisors. In het geval van WSL2 is de patch aangepast om geheugen terug te sturen naar de Hyper-V-hypervisor.

Bedenk dat de tweede editie van WSL verschillend levering van een volwaardige Linux-kernel in plaats van een emulator die Linux-systeemaanroepen direct vertaalt naar Windows-systeemaanroepen. Geleverd in WSL2 Linux-kernel Gebaseerd op release 4.19, die draait in een Windows-omgeving met behulp van een virtuele machine die al in Azure draait. Updates voor de Linux-kernel worden geleverd via het Windows Update-mechanisme en getest aan de hand van de continue integratie-infrastructuur van Microsoft. WSL2-specifieke kernelpatches omvatten optimalisaties om de opstarttijd van de kernel te verkorten, het geheugengebruik te verminderen en de kernel te laten met de minimaal vereiste set stuurprogramma's en subsystemen.

Bron: opennet.ru

Voeg een reactie