Docker Vmmem Process leva muita memória no Windows 11/10

Docker Vmmem Process leva muita memória no Windows 11/10

Os usuários que instalaram o Docker usando o subsistema Windows para Linux2 em suas máquinas Windows se queixaram de experimentar o processo VMMEM, consumindo uma enorme quantidade de poder de memória. De acordo com esses usuários afetados, esse dreno de memória está saindo dos gráficos, às vezes até atingindo até 99% (1.5-2 GB de RAM)! Este é um problema preocupante, pois isso diminui significativamente o sistema afetado. Então, você deve seguir essas correções para resolver o problema.

Índice

  • Corrigir 1 - deixe -o executar
  • Corrigir 2 - Desligar o WSL
  • Corrigir 3 - Restringir o uso da memória
  • Fix 4 - reinicie o lxssmanager
  • Corrigir 5 - Aumente os recursos alocados

Corrigir 1 - deixe -o executar

O processo VMMEM continua a correr mesmo depois de fechar o WSL2. Esse é o comportamento normal e o VMMEM pode continuar a consumir quantidades mais altas de recursos do sistema até 1-2 minutos após o término do processo VMMEM. Então, espere até aquele ponto até que ele pare e, eventualmente, libere a memória.

Corrigir 2 - Desligar o WSL

A melhor maneira de impedir o Docker de usar muita memória é desligar o subsistema do Windows para Linux.

OBSERVAÇÃO - À medida que isso interrompe o WSL2, você deve ter cuidado ao executar isso no momento da necessidade. Então, apenas execute isso quando terminar de executar o Docker e você não precisará mais.

1. Você pode fazer isso de qualquer terminal, mas precisa abri -lo com direitos administrativos. Então, abra a caixa de pesquisa e digite “Powershell““.

2. Então, clique com o botão direito do mouse no “Windows PowerShell"E clique em"Executar como administrador”Para abrir o terminal como um administrador.

Powershell é executado como administrador min

3. Agora, escrever isso no terminal e acertar Digitar Para desligar o subsistema do Windows para Linux.

WSL -Shutdown
WSL Shutdown Min 1

Isso desligará o WSL2 e, eventualmente.

Corrigir 3 - Restringir o uso da memória

Há outra maneira de vincular o uso da memória por WSL2. Você pode criar um novo arquivo de configuração ou editar o existente.

Passo 1

1. No começo você tem que fechar a configuração do WSL2.

2. Então, comece a digitar “Powershell”Na caixa de pesquisa.

3. Então, clique com o botão direito do mouse no “Windows PowerShell"E clique em"Executar como administrador”Para executar o terminal como administrador.

Powershell é executado como administrador min

4. Depois disso, execute este código para parar o WSL2 imediatamente.

WSL -Shutdown
WSL Shutdown Min 1

Depois disso, você pode fechar o Powershell terminal.

Passo 2

Agora, você tem que criar um arquivo de configuração. Então, deslize através desses pontos.

1. Pesquise e abra Bloco de anotações.

Bloco de notas

2. Lá, colar essas duas linhas.

[WSL2] Memory = 2GB # Limita a memória VM em processadores WSL 2 até 3 GB = 2 # Faça o WSL 2 usar até dois processadores virtuais

[[OBSERVAÇÃO - Você pode ver no arquivo de configuração, definimos o parâmetro de memória para 2 GB e os processadores virtuais contam para 2. Estes são os modificadores e você pode defini -los como quiser.]

WS Memory Min

3. Depois disso, clique em “Arquivo"E clique em"Salvar como”Para salvar o arquivo.

salvar como min

4. Agora, nomeie o arquivo “%Perfil de usuário%\.wslconfig““.

5. Então clique "Salvar”Para salvar o arquivo.

Salvar configuração min

Você pode fechar Bloco de anotações depois disto.

Depois disso, aberto Docker. Assim que você abrir isso, você verá a opção de reiniciar a máquina virtual.

Então, clique em “Sim”Para reiniciar isso.

Agora, o VMMEM não vai comer uma grande quantidade de RAM.

Etapas opcionais -

Linux consome mais memória para cache arquivos. Você pode impedir isso com esta linha única (execute de um terminal administrativo) -

eco 3 | Sudo Tee/Proc/Sys/VM/Drop_caches

Isso deve limitar o armazenamento de cache e liberar mais RAM para o host.

Fix 4 - reinicie o lxssmanager

Você tem que reiniciar o lxssmanager em PowerShell.

1. Abrir Powershell ou qualquer outro terminal como administrador.

2. Então, entrada este comando e acertar Digitar Para reiniciar o lxssmanager.

Reinicie o serviço LXSSMANAGER

Em seguida, verifique o consumo de RAM mais uma vez.

Corrigir 5 - Aumente os recursos alocados

Você pode aumentar a RAM alocada e a CPU e a troca facilmente, para que o consumo VMMEM reduz significativamente.

1. Abrir Configurações do Docker [Você pode ter que executar o Docker VM no modo Linux para ver essas configurações.].

2. Lá, vá para o “Avançado" contexto.

3. Dentro dele, você pode ajustar as configurações de CPU, memória e troca de acordo com os recursos do sistema disponíveis.

Isso deve reduzir significativamente o consumo de recursos do VMMEM.