A Microsoft a WSL2-ben (Windows Subsystem for Linux) megvalósította a memória visszaadását a rendszerbe

Microsoft bejelentett a WSL2 (Windows Subsystem for Linux) réteg képességeinek bővítéséről, amely biztosítja a Linux futtatható fájlok elindítását Windowson. Kísérleti összeállításokban A windows Insider (build 19013) a WSL2 rétegben megjelent a Linux kernelen alapuló környezetben futó folyamatok által felszabadított memória rendszerbe való visszajuttatásának támogatása (Memory Reclamation).

Korábban az alkalmazások vagy a kernel memóriafelhasználásának növekedése esetén a memóriát lefoglalták a WSL2 virtuális géphez, de ezt követően rögzítve maradt, és nem került vissza a rendszerbe, még akkor sem, ha az erőforrás-igényes folyamat leállt és ott. nem volt többé szükség a lefoglalt memóriára. A memóriavisszanyerési mechanizmus lehetővé teszi a felszabadult memória visszaadását a fő operációs rendszernek, és automatikusan csökkenti a virtuális gép memóriájának méretét. Ez nem csak a felhasználói folyamatok által felszabaduló memóriát adja vissza, hanem a Linux kernel gyorsítótárazásához használt memóriát is. Például magas lemezaktivitás esetén megnő az oldal gyorsítótárának mérete, amelyben a fájlok tartalma a fájlrendszer futása közben elhelyeződik. Az "echo 1 > /proc/sys/vm/drop_caches" végrehajtása után a gyorsítótár üríthető, és a memória visszahelyezhető a fő operációs rendszerbe.

A Memory Reclamation megvalósítása azon alapul
tapasz, amelyet az Intel mérnökei javasoltak a fő Linux kernelbe a virtio-balloon illesztőprogram és a memóriakezelő rendszer képességeinek bővítése érdekében. A megadott javítást arra tervezték, hogy bármely vendégrendszerben használható legyen a fel nem használt memórialapok visszajuttatására a gazdagépen, és különféle hipervizorokkal használható. WSL2 esetén a javítás úgy van kialakítva, hogy visszaadja a memóriát a Hyper-V hypervisornak.

Emlékezzünk vissza, hogy a WSL második kiadása különböző teljes értékű Linux kernel szállítása egy olyan emulátor helyett, amely a Linux rendszerhívásokat menet közben Windows rendszerhívásokká fordítja. WSL2-ben szállítva Linux kernel A 4.19-es kiadáson alapul, amely Windows környezetben fut, az Azure-ban már futó virtuális gép használatával. A Linux kernel frissítéseit a Windows Update mechanizmuson keresztül szállítják, és tesztelik a Microsoft folyamatos integrációs infrastruktúrájával. A WSL2-specifikus kernelfoltok olyan optimalizálásokat tartalmaznak, amelyek csökkentik a kernel indítási idejét, csökkentik a memóriafelhasználást, és a kernelnek a minimálisan szükséges illesztőprogram- és alrendszerkészletet hagyják.

Forrás: opennet.ru

Hozzászólás