WSL 2 agora tem recurso de recuperação de memória
Com o lançamento do Windows 10 Build 18917, a Microsoft apresentou o WSL 2 ao Insiders, o subsistema do Windows para Linux 2. Ele vem com um kernel Linux real com o Windows que tornará possível a compatibilidade total das chamadas do sistema. Esta é a primeira vez que um kernel Linux é enviado com o Windows. O Windows 10 build 19013 adiciona outro ótimo recurso WSL 2 - Memory Reclaim, que permite ao sistema host reutilizar a memória que não é mais necessária por nenhum processo do Linux.
Propaganda
Anteriormente, quando as necessidades de memória da Máquina Virtual WSL2 (VM) aumentavam, seja a partir de seu fluxo de trabalho ou por o kernel do Linux, a memória geral alocada para a VM também aumentaria alocando mais memória do hospedeiro. Mas, uma vez que o fluxo de trabalho é concluído, a memória que não é mais necessária para o fluxo de trabalho não seria liberada de volta para o host. Agora, com a recuperação de memória no WSL 2, quando a memória no Linux não é mais necessária, ela pode ser relatada de volta ao host onde será liberada e sua VM WSL 2 diminuirá no tamanho da memória.
Antes:
Depois de:
Confira o seguinte vídeo:
Como funciona
Este recurso é desenvolvido por um Patch do kernel Linux que permite que pequenos blocos contíguos de memória sejam retornados à máquina host quando não forem mais necessários no convidado Linux. A equipe WSL atualizou o Kernel Linux em WSL2 para incluir esse patch e o Hyper-V modificado para oferecer suporte a esse recurso de relatório de página. Para retornar o máximo possível de memória ao host, o WSL compacta a memória periodicamente para garantir que a memória livre esteja disponível em blocos contíguos. Isso só funciona quando sua CPU está ociosa. Você pode ver quando isso acontece olhando para a mensagem ‘WSL2: Performing memory compactation’ dentro da saída do dmesg
comando. Se você for um usuário avançado, pode configurar esse comportamento editando valores em .wslconfig. Por favor, cheque o Notas de versão WSL 19013 para ver essas opções. Como alternativa, se desejar executar este comando do Linux manualmente, você pode executar o comando echo 1> / proc / sys / vm / compact_memory
como o usuário root.
Você pode encontrar mais detalhes técnicos e exemplos no postagem oficial do blog.