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

Додати коментар або відгук