Microsoft zaimplementował w WSL2 (podsystem Windows dla systemu Linux) zwrot pamięci do systemu

Microsoftu ogłosił o rozbudowie możliwości warstwy WSL2 (Windows Subsystem for Linux), która zapewnia uruchomienie plików wykonywalnych Linuksa w systemie Windows. W eksperymentalnych kompilacjach Okna Insider (build 19013) w warstwie WSL2 pojawiła się obsługa zwrotu pamięci do systemu (Memory Reclamation) wydawanej przez procesy działające w środowisku opartym na jądrze Linuksa.

Wcześniej, w przypadku wzrostu zużycia pamięci przez aplikacje lub jądro, pamięć była alokowana do maszyny wirtualnej WSL2, ale później pozostawała przypięta i nie była zwracana do systemu, nawet po zakończeniu zasobożernego procesu i tam przydzielona pamięć nie była już potrzebna. Mechanizm odzyskiwania pamięci pozwala zwrócić zwolnioną pamięć głównemu systemowi operacyjnemu i automatycznie zmniejszyć rozmiar pamięci maszyny wirtualnej. Zwraca to nie tylko pamięć zwolnioną przez procesy użytkownika, ale także pamięć używaną do buforowania w jądrze Linuksa. Na przykład przy dużej aktywności dysku zwiększa się rozmiar pamięci podręcznej stron, w której przechowywana jest zawartość plików, gdy system plików jest uruchomiony. Po wykonaniu polecenia „echo 1 > /proc/sys/vm/drop_caches” można wyczyścić pamięć podręczną i przywrócić pamięć do głównego systemu operacyjnego.

Implementacja odzyskiwania pamięci opiera się na
łata, zaproponowany przez inżynierów Intela do włączenia do głównego jądra Linuksa w celu rozszerzenia możliwości sterownika virtio-balloon oraz dla systemu zarządzania pamięcią. Określona poprawka jest przeznaczona do stosowania w dowolnych systemach-gościach w celu zwracania nieużywanych stron pamięci do systemu hosta i może być używana z różnymi hiperwizorami. W przypadku WSL2 łatka przystosowana jest do przywracania pamięci hypervisorowi Hyper-V.

Przypomnijmy, że druga edycja WSL inny dostarczenie pełnoprawnego jądra Linuksa zamiast emulatora, który na bieżąco tłumaczy wywołania systemowe Linuksa na wywołania systemowe Windows. Dostarczone w WSL2 jądro Linuksa Na podstawie wersji 4.19, która działa w środowisku Windows przy użyciu maszyny wirtualnej działającej już na platformie Azure. Aktualizacje jądra Linuksa są dostarczane za pośrednictwem mechanizmu Windows Update i testowane pod kątem infrastruktury ciągłej integracji firmy Microsoft. Poprawki jądra specyficzne dla WSL2 obejmują optymalizacje mające na celu skrócenie czasu uruchamiania jądra, zmniejszenie zużycia pamięci i pozostawienie jądra z minimalnym wymaganym zestawem sterowników i podsystemów.

Źródło: opennet.ru

Dodaj komentarz