Microsoft implementou no WSL2 (Windows Subsystem for Linux) a devolução de memória ao sistema

Microsoft anunciou o sobre a expansão dos recursos da camada WSL2 (Windows Subsystem for Linux), que garante o lançamento de arquivos executáveis ​​​​do Linux no Windows. Em compilações experimentais janelas Insider (build 19013) na camada WSL2, surgiu o suporte para retorno de memória ao sistema (Memory Reclamation) liberado por processos executados em ambiente baseado no kernel Linux.

Anteriormente, em caso de aumento no consumo de memória pelos aplicativos ou pelo kernel, a memória era alocada para a máquina virtual WSL2, mas depois disso ela permanecia fixada e não era devolvida ao sistema, mesmo após o processo de uso intensivo de recursos ser encerrado e lá não havia mais necessidade da memória alocada. O mecanismo de recuperação de memória permite retornar a memória liberada ao sistema operacional principal e reduzir automaticamente o tamanho da memória da máquina virtual. Isso retorna não apenas a memória liberada pelos processos do usuário, mas também a memória usada para armazenamento em cache no kernel do Linux. Por exemplo, com alta atividade do disco, o tamanho do cache da página aumenta, no qual o conteúdo dos arquivos é depositado quando o sistema de arquivos está em execução. Após executar "echo 1 > /proc/sys/vm/drop_caches" o cache pode ser limpo e a memória pode ser devolvida ao sistema operacional principal.

A implementação da recuperação de memória é baseada em
correção, proposto pelos engenheiros da Intel para inclusão no kernel principal do Linux, a fim de expandir as capacidades do driver virtio-balloon e do sistema de gerenciamento de memória. O patch especificado foi projetado para uso em qualquer sistema convidado para retornar páginas de memória não utilizadas ao sistema host e pode ser usado com vários hipervisores. No caso do WSL2, o patch é adaptado para devolver memória ao hipervisor Hyper-V.

Lembre-se que a segunda edição do WSL diferente entrega de um kernel Linux completo em vez de um emulador que traduz chamadas de sistema Linux em chamadas de sistema Windows dinamicamente. Entregue em WSL2 Kernel Linux Baseado na versão 4.19, que é executada em um ambiente Windows usando uma máquina virtual já em execução no Azure. As atualizações do kernel Linux são entregues por meio do mecanismo do Windows Update e testadas na infraestrutura de integração contínua da Microsoft. Os patches de kernel específicos do WSL2 incluem otimizações para reduzir o tempo de inicialização do kernel, reduzir o consumo de memória e deixar o kernel com o conjunto mínimo necessário de drivers e subsistemas.

Fonte: opennet.ru

Adicionar um comentário