A WSL 2 már rendelkezik memóriavisszanyerési funkcióval
A Windows 10 Build 18917 kiadásával a Microsoft bemutatta a WSL 2-t az Insidersnek, a Linux 2 Windows alrendszerének. Valódi Linux kernelt szállít Windows-szal, amely lehetővé teszi a teljes rendszerhívás-kompatibilitást. Ez az első alkalom, hogy Linux kernelt szállítanak a Windows rendszerrel. A Windows 10 build 19013 egy másik nagyszerű WSL 2 funkciót ad hozzá – a memóriavisszanyerést, amely lehetővé teszi a gazdarendszer számára, hogy újra felhasználja a memóriát, amelyre már nincs szüksége egyetlen Linux-folyamatnak sem.
Hirdetés
Korábban, amikor a WSL2 virtuális gép (VM) memóriaigénye növekedett, akár a munkafolyamatból, akár a Linux kernel, a virtuális gép számára lefoglalt teljes memória is növekedne azáltal, hogy több memóriát foglal le házigazda. De a munkafolyamat befejezése után a munkafolyamatnak már nem szükséges memóriája nem kerül vissza a gazdagéphez. Most a WSL 2 memóriavisszanyerésével, amikor a Linux memóriájára már nincs szükség, vissza lehet jelenteni a gazdagépnek, ahol felszabadítják, és a WSL 2 virtuális gépe memóriamérete csökken.
Előtt:
Után:
Nézze meg az alábbi videót:
Hogyan működik
Ezt a funkciót a Linux kernel javítás Ez lehetővé teszi kis összefüggő memóriablokkok visszaküldését a gazdagépnek, amikor már nincs szükség rájuk a Linux vendégben. A WSL csapata frissítette a Linux kernel WSL2-ben hogy tartalmazza ezt a javítást, és módosította a Hyper-V-t, hogy támogassa ezt az oldaljelentési funkciót. Annak érdekében, hogy a lehető legtöbb memóriát visszaadja a gazdagépnek, a WSL időszakonként tömöríti a memóriát, hogy biztosítsa a szabad memória elérhetőségét a szomszédos blokkokban. Ez csak akkor fut, ha a CPU tétlen. Láthatja, hogy ez mikor történik, ha megkeresi a „WSL2: Memóriatömörítés végrehajtása” üzenetet a kimenet kimenetén belül. dmesg
parancs. Ha Ön erős felhasználó, akkor ezt a viselkedést az értékek szerkesztésével konfigurálhatja .wslconfig. Kérjük, ellenőrizze a WSL 19013 kiadási megjegyzések hogy megtekintse ezeket a lehetőségeket. Alternatív megoldásként, ha manuálisan szeretné futtatni ezt a Linux-parancsot, futtathatja a parancsot echo 1 > /proc/sys/vm/compact_memory
root felhasználóként.
További technikai részleteket és példákat találhat a hivatalos blogbejegyzés.