WSL 2 má nyní funkci obnovení paměti
S vydáním Windows 10 Build 18917 představil Microsoft Insiders WSL 2, subsystém Windows pro Linux 2. Dodává skutečné linuxové jádro s Windows, které umožní plnou kompatibilitu systémových volání. Toto je poprvé, kdy je linuxové jádro dodáváno s Windows. Windows 10 sestavení 19013 přidává další skvělou funkci WSL 2 – Memory Reclaim, která umožňuje hostitelskému systému znovu použít paměť, kterou již nepotřebuje žádný linuxový proces.
Dříve, když paměťové potřeby virtuálního stroje WSL2 (VM) rostly, ať už z vašeho pracovního postupu nebo Linux kernel, celková paměť přidělená virtuálnímu počítači by se také zvýšila alokací více paměti z hostitel. Jakmile je však pracovní postup dokončen, paměť, kterou pracovní postup již nepotřebuje, nebude uvolněna zpět hostiteli. Nyní s rekultivací paměti ve WSL 2, když paměť v Linuxu již není potřeba, může být nahlášena zpět hostiteli, kde bude uvolněna a váš WSL 2 VM se zmenší ve velikosti paměti.
Před:
Po:
Podívejte se na následující video:
Jak to funguje
Tato funkce je poháněna a
Záplata linuxového jádra což umožňuje, aby se malé souvislé bloky paměti vrátily do hostitelského počítače, když už nejsou v hostu Linuxu potřeba. Tým WSL aktualizoval Linuxové jádro ve WSL2 zahrnout tuto opravu a upraveno Hyper-V tak, aby podporovalo tuto funkci hlášení stránek. Aby se hostiteli vrátilo co nejvíce paměti, WSL pravidelně komprimuje paměť, aby zajistila dostupnost volné paměti v souvislých blocích. Toto běží pouze když je váš CPU nečinný. Kdy k tomu dojde, můžete vidět tak, že ve výstupudmesg
příkaz. Pokud jste zkušený uživatel, můžete toto chování nakonfigurovat úpravou hodnot v .wslconfig. Zkontrolujte prosím Poznámky k vydání WSL 19013 k zobrazení těchto možností. Případně, pokud chcete tento příkaz Linux spustit ručně, můžete příkaz spustit echo 1 > /proc/sys/vm/compact_memory
jako uživatel root.
Další technické podrobnosti a příklady naleznete v oficiální blogový příspěvek.