Microsoft рэалізаваў у WSL2 (Windows Subsystem for Linux) вяртанне памяці сістэме

Кампанія Microsoft абвясціла аб пашырэнні магчымасцяў праслойкі WSL2 (Windows Subsystem for Linux), якая забяспечвае запуск выкананых файлаў Linux у Windows. У эксперыментальных зборках вокны Insider (build 19013) у праслойцы WSL2 з'явілася падтрымка вяртання сістэме памяці (Memory Reclamation), якая вызваляецца працэсамі, якія працуюць у асяроддзі на базе ядра Linux.

Раней у выпадку росту спажывання памяці прыкладаннямі або ядром, памяць вылучалася віртуальнай машыне WSL2, але пасля гэтага заставалася замацаванай і не вярталася сістэме, нават пасля завяршэння рэсурсаёмістага працэсу і адсутнасці далейшага запатрабавання ў выдзеленай памяці. Механізм Memory Reclamation дазваляе вяртаць вызваленую памяць у асноўную АС і аўтаматычна памяншаць памер памяці віртуальнай машыны. Пры гэтым вяртаецца не толькі памяць, якая вызваляецца карыстацкімі працэсамі, але і памяць, якая ўжывалася для кэшавання ў ядры Linux. Напрыклад, пры высокай дыскавай актыўнасці павялічваецца памер старонкавага кэша, у якім асядае змесціва файлаў пры працы ФС. Пасля выканання "echo 1> /proc/sys/vm/drop_caches" кэш можна ачысціць і вярнуць памяць у асноўную АС.

Рэалізацыя Memory Reclamation грунтуецца на
патчэ, прапанаваным інжынерамі Intel для ўключэння ў асноўнае ядро ​​Linux з мэтай пашырэння магчымасцяў драйвера virtio-balloon і для сістэмы кіравання памяццю. Указаны патч разлічаны на выкарыстанне ў любых гасцявых сістэмах для вяртання невыкарыстоўваных старонак памяці хост-сістэме і можа ўжывацца з рознымі гіпервізорамі. У выпадку WSL2 патч адаптаваны для вяртання памяці гіпервізару Hyper-V.

Нагадаем, што другая рэдакцыя WSL адрозніваецца пастаўкай паўнавартаснага ядра Linux замест эмулятара, на лёце які транслюе сістэмныя выклікі Linux у сістэмныя выклікі Windows. Пастаўлянае ў WSL2 ядро Linux заснавана на выпуску 4.19, які выконваецца ў асяроддзі Windows пры дапамозе віртуальнай машыны, ужо прымяняецца ў Azure. Абнаўленні для ядра Linux дастаўляюцца праз механізм Windows Update і тэстуюцца ў інфраструктуры бесперапыннай інтэграцыі Microsoft. Ужывальныя ў ядры спецыфічныя для WSL2 патчы ўключаюць аптымізацыі для скарачэння часу запуску ядра, памяншэнні спажывання памяці і пакіданні ў ядры мінімальна неабходнага набору драйвераў і падсістэм.

Крыніца: opennet.ru

Дадаць каментар