Docker VMMem Process toma demasiada memoria en Windows 11/10

Docker VMMem Process toma demasiada memoria en Windows 11/10

Los usuarios que han instalado Docker utilizando el subsistema de Windows para Linux2 en sus máquinas de Windows se han quejado de experimentar el proceso VMMEM consumiendo una gran cantidad de potencia de memoria. Según estos usuarios afectados, este drenaje de memoria está saliendo de las listas, a veces incluso alcanzando hasta el 99% (1.5-2 GB de RAM)! Este es un problema preocupante ya que esto ralentiza significativamente. Entonces, debes seguir estas correcciones para resolver el problema.

Tabla de contenido

  • Fix 1 - Déjalo ejecutar
  • Fix 2 - apague el WSL
  • FIJO 3 - Restringir el uso de la memoria
  • FIJAR 4 - Reinicie la LXSSManager
  • Arreglar 5 - Aumentar los recursos asignados

Fix 1 - Déjalo ejecutar

El proceso VMMEM continúa ejecutándose incluso después de haber cerrado el WSL2. Este es el comportamiento normal y VMMEM puede continuar consumiendo mayores cantidades de recursos del sistema hasta 1-2 minutos después de finalizar el proceso VMMEM. Entonces, espere hasta ese punto hasta que se detenga y finalmente libera la memoria.

Fix 2 - apague el WSL

La mejor manera de evitar que Docker use demasiada memoria es cerrar el subsistema de Windows para Linux.

NOTA - Como esto detiene el WSL2, debe tener cuidado al ejecutar esto en el momento de la necesidad solo. Entonces, solo ejecute esto cuando haya terminado de ejecutar el Docker y no lo necesita más.

1. Puede hacer esto desde cualquier terminal, pero debe abrirlo con derechos administrativos. Entonces, abra el cuadro de búsqueda y escriba "potencia Shell".

2. Luego, haga clic derecho en el "Windows PowerShell"Y haga clic" "Ejecutar como administrador"Para abrir el terminal como administrador.

PowerShell se ejecuta como administrador min

3. Ahora, escribir esto en la terminal y golpe Ingresar Para cerrar el subsistema de Windows para Linux.

WSL --shutdown
WSL SHUCEDOWN MIN 1

Esto cerrará el WSL2 y, finalmente, VMMem dejará de consumir grandes cantidades de memoria.

FIJO 3 - Restringir el uso de la memoria

Hay otra forma en que puede vincular el uso de la memoria por WSL2. Puede crear un nuevo archivo de configuración o editar el existente.

Paso 1

1. Al principio debe cerrar la configuración WSL2.

2. Entonces, comience a escribir "potencia Shell"En el cuadro de búsqueda.

3. Luego, haga clic derecho en el "Windows PowerShell"Y haga clic" "Ejecutar como administrador"Para ejecutar el terminal como administrador.

PowerShell se ejecuta como administrador min

4. Después de esto, ejecute este código para detener WSL2 inmediatamente.

WSL --shutdown
WSL SHUCEDOWN MIN 1

Después de esto, puede cerrar el Potencia Shell Terminal.

Paso 2

Ahora, debe crear un archivo de configuración. Entonces, deslice a través de estos puntos.

1. Buscar y abrir Bloc.

Notepad min

2. Allá, pegar estas dos líneas.

[WSL2] Memoria = 2GB # Limita la memoria VM en WSL 2 hasta 3GB Processors = 2 # Haga que WSL 2 use hasta dos procesadores virtuales

[NOTA - Puede ver en el archivo de configuración, hemos establecido el parámetro de memoria en 2 GB y los procesadores virtuales cuentan a 2. Estos son los modificadores y puedes configurarlos como quieras.]

ws memoria min

3. Después de eso, haga clic en "Archivo"Y haga clic" "Guardar como"Para guardar el archivo.

ahorrar como min

4. Ahora, nombra el archivo "%Perfil del usuario%\.wslconfig".

5. Entonces, haga clic en "Ahorrar"Para guardar el archivo.

Guardar config min

Puedes cerrar Bloc después de este.

Después de esto, abra Estibador. Tan pronto como abra eso, verá la opción de reiniciar la máquina virtual.

Entonces, haga clic en ""Para reiniciar eso.

Ahora, el VMMem no comerá una gran cantidad de carnero.

Pasos opcionales -

Linux consume más memoria para caché de archivos. Puede evitar esto con esta línea única (ejecutar desde un terminal administrativo) -

Echo 3 | sudo tee/proc/sys/vm/drop_caches

Esto debería limitar el almacenamiento de caché y liberar más RAM para el host.

FIJAR 4 - Reinicie la LXSSManager

Tienes que reiniciar el LXSsmanager en PowerShell.

1. Abierto Potencia Shell o cualquier otro terminal como administrador.

2. Entonces, aporte este comando y golpe Ingresar para reiniciar la lxssmanger.

Reinicio de servicio lxssmanger

Luego, verifique el consumo de RAM una vez más.

Arreglar 5 - Aumentar los recursos asignados

Puede aumentar la RAM asignada, y CPU y cambiar fácilmente para que el consumo de VMMEM se reduzca significativamente.

1. Abierto Configuración de Docker [Es posible que deba ejecutar Docker VM en modo Linux para ver esta configuración.].

2. Ahí, ve al "Avanzado" configuración.

3. Dentro de él, puede ajustar la configuración de CPU, memoria y intercambio de intercambio de acuerdo con los recursos del sistema disponibles.

Esto debería reducir significativamente el consumo de recursos de VMMEM.