Agora que o WSL está instalado, vamos à configuração avançada via arquivo .wslconfig.
O arquivo .wslconfig é usado para definir configurações globais para todas as distribuições Linux rodando no WSL 2. Ele afeta a máquina virtual que executa o WSL. O arquivo não existe por padrão e deve ser criado no diretório %UserProfile% (acessível via cd ~ no PowerShell ou digitando %UserProfile% no Explorador de Arquivos). O caminho típico é C:\Users<SeuNomeDeUsuario>.wslconfig.
Crie o arquivo com um editor de texto (como Notepad) e salve-o como .wslconfig (sem extensão .txt).
As configurações são aplicadas na seção [wsl2].
Após editar, reinicie o WSL com wsl --shutdown para aplicar as mudanças.
Requer Windows build 19041 ou superior.
Aqui estão os principais parâmetros na seção [wsl2]
, com explicações, valores padrão e exemplos:
Parâmetro | Descrição | Valor Padrão | Valores Possíveis/Exemplos |
---|---|---|---|
memory | Define a quantidade de memória RAM alocada para a VM do WSL 2. Útil para limitar o uso de recursos. | 50% da memória total do Windows | Tamanhos com unidades, ex.: 4GB ou 512MB . Exemplo: memory=4GB |
processors | Define o número de processadores lógicos disponíveis para a VM do WSL 2. | Número de processadores lógicos do Windows | Números inteiros, ex.: 2 . Exemplo: processors=2 |
swap | Define o espaço de swap (memória virtual) para quando a memória física acabar. | 25% da memória, arredondado para o GB mais próximo | Tamanhos como 8GB ; 0 desativa o swap. Exemplo: swap=8GB |
swapFile | Caminho para o arquivo de swap (disco virtual). | %Temp%\swap.vhdx | Caminho absoluto no Windows, ex.: C:\\temp\\wsl-swap.vhdx |
networkingMode | Define o modo de rede para o WSL 2 (ex.: NAT, mirrored). | NAT | none , mirrored , etc. Exemplo: networkingMode=mirrored (disponível no Windows 11 22H2+). |
localhostForwarding | Permite que portas localhost na VM sejam acessíveis do host Windows. | true | true ou false . Exemplo: localhostForwarding=true |
kernel | Caminho para um kernel Linux personalizado. | Kernel padrão da Microsoft | Caminho absoluto, ex.: C:\\temp\\myCustomKernel |
guiApplications | Ativa suporte a aplicativos GUI via WSLg. | true | true ou false . Exemplo: guiApplications=true |
nestedVirtualization | Ativa virtualização aninhada para rodar VMs dentro do WSL. | true | true ou false (Windows 11+). |
vmIdleTimeout | Tempo em milissegundos para a VM desligar quando ociosa. | 60000 (1 minuto) | Números inteiros, ex.: 30000 (Windows 11+). |
Exemplo de arquivo .wslconfig
:
[wsl2]
memory=4GB
processors=4
swap=0
networkingMode=mirrored
Esses parâmetros ajudam a otimizar o desempenho, como limitar memória para evitar sobrecarga no host Windows ou configurar rede para cenários avançados.