Microsoft implementó en WSL2 (Subsistema de Windows para Linux) la devolución de memoria al sistema

Microsoft anunció el sobre la ampliación de las capacidades de la capa WSL2 (Subsistema de Windows para Linux), que garantiza el lanzamiento de archivos ejecutables de Linux en Windows. En construcciones experimentales ventanas de información privilegiada (compilación 19013) en la capa WSL2, ha aparecido soporte para devolver memoria al sistema (Memory Reclamation) liberada por procesos que se ejecutan en un entorno basado en el kernel de Linux.

Anteriormente, en caso de un aumento en el consumo de memoria por parte de las aplicaciones o del kernel, la memoria se asignaba a la máquina virtual WSL2, pero después de eso permaneció fijada y no se devolvió al sistema, incluso después de que finalizó el proceso que consume muchos recursos y allí ya no era necesaria la memoria asignada. El mecanismo de recuperación de memoria le permite devolver la memoria liberada al sistema operativo principal y reducir automáticamente el tamaño de la memoria de la máquina virtual. Esto devuelve no sólo la memoria liberada por los procesos del usuario, sino también la memoria utilizada para el almacenamiento en caché en el kernel de Linux. Por ejemplo, con una alta actividad del disco, aumenta el tamaño de la caché de páginas, en la que se depositan los contenidos de los archivos cuando se ejecuta el sistema de archivos. Después de ejecutar "echo 1 > /proc/sys/vm/drop_caches", se puede borrar el caché y devolver la memoria al sistema operativo principal.

La implementación de Memory Reclamation se basa en
parche, propuesto por los ingenieros de Intel para su inclusión en el kernel principal de Linux con el fin de ampliar las capacidades del controlador virtio-balloon y del sistema de gestión de memoria. El parche especificado está diseñado para usarse en cualquier sistema invitado para devolver páginas de memoria no utilizadas al sistema host y se puede usar con varios hipervisores. En el caso de WSL2, el parche está adaptado para devolver memoria al hipervisor Hyper-V.

Recordemos que la segunda edición de WSL diferente entrega de un kernel de Linux completo en lugar de un emulador que traduce las llamadas al sistema Linux en llamadas al sistema Windows sobre la marcha. Entregado en WSL2 núcleo de linux Basado en la versión 4.19, que se ejecuta en un entorno Windows utilizando una máquina virtual que ya se ejecuta en Azure. Las actualizaciones del kernel de Linux se entregan a través del mecanismo de Windows Update y se prueban con la infraestructura de integración continua de Microsoft. Los parches del kernel específicos de WSL2 incluyen optimizaciones para reducir el tiempo de inicio del kernel, reducir el consumo de memoria y dejar el kernel con el conjunto mínimo requerido de controladores y subsistemas.

Fuente: opennet.ru

Añadir un comentario