Gran uso de memoria en el grupo no paginado en Windows

En algunos casos, puede ver algunos problemas con el desbordamiento de la memoria en computadoras y servidores que ejecutan Windows relacionados con la pérdida de un controlador del sistema que almacena sus datos en la memoria no paginada. Grupo de memoria no paginado es la parte de la RAM de la computadora, que es utilizada por el kernel y los controladores del sistema operativo. El grupo no paginado nunca se cambia al disco (al archivo de paginación), siempre se almacena solo en la memoria física.

Puede ver el tamaño actual de la memoria no paginada en el Memoria sección de la Rendimiento pestaña en el Administrador de tareas. La captura de pantalla siguiente muestra que casi toda la memoria del servidor está ocupada y la mayor parte está ocupada por el grupo no paginado de 4.2GB. Normalmente, el tamaño del grupo no paginado rara vez supera los 200-400 MB. Esto generalmente indica que hay una pérdida de memoria en algún componente del sistema o controlador. Gran uso de memoria en el grupo no paginado en Windows

Con este problema de desbordamiento de memoria en el servidor, los siguientes mensajes pueden aparecer en el registro de eventos:

The server was unable to allocate from the system Non-Paged pool because the pool was empty.

En la mayoría de los casos, la razón de la pérdida de memoria descrita anteriormente son algunos problemas con los controladores de terceros instalados en el sistema. Por regla general, se trata de controladores de red. Por favor, preste atención al comportamiento del grupo al descargar archivos grandes (es probable que crezca rápidamente hasta 128 GB o el 75% de la memoria física en sistemas x64). Solo el reinicio de Windows ayuda a limpiar la piscina. Puede ser aceptable para una computadora doméstica, pero debería encontrar una mejor solución para un servidor que funcione las 24 horas del día, los 7 días de la semana.

Instale las últimas versiones de los controladores del adaptador de red

Intente descargar e instalar las últimas versiones de controladores para sus adaptadores de red desde el sitio web del proveedor.

Si la actualización automática de controladores está habilitada, asegúrese de que los problemas no aparezcan después de la instalación de los nuevos controladores. Intente volver a la versión anterior del controlador y vea si el problema persiste. Si el problema se resuelve, desactive la actualización automática del controlador.

Deshabilitar el controlador de uso de datos de red

Muy a menudo, la incompatibilidad del uso de datos de red (NDU) y los controladores del adaptador de red puede ser la razón de la pérdida de memoria en el grupo no paginado. Este servicio se puede desactivar sin mucha pérdida de la funcionalidad de Windows.

El servicio se puede detener usando este comando:

sc config NDU start= disabled

deshabilitar el controlador de uso de datos de red (NDU)

O a través del registro:

  1. Abra el Editor del registro (regedit.exe);
  2. Ir a la clave de registro HKEY_LOCAL_MACHINE SYSTEM ControlSet001 Services Ndu ;
  3. Cambiar el valor del Comienzo parámetro a 4.

deshabilitar el servicio ndu en windows

Después de realizar los cambios, debe reiniciar su computadora.

Deshabilitar el rol de Hyper-V

En algunos casos, el rol de Hyper-V instalado da como resultado una pérdida de memoria en el grupo no paginado. Si no necesita este rol, le recomendamos que lo desactive.

Uso de PoolMon para encontrar una fuga de memoria en modo kernel

Si los métodos descritos anteriormente no ayudaron, puede intentar averiguar qué controlador causa la pérdida de memoria en el grupo no paginado utilizando una herramienta de consola Poolmoon.exe (incluido en Kit de controladores de Windows – WDK). Descargue e instale WDK para su versión de Windows desde el sitio web de Microsoft. Luego, inicie Poolmon.exe (en el caso de WDK para Windows 10, la herramienta se encuentra en la carpeta C: Archivos de programa (x86) Windows Kits 10 Tools ).

Una vez que haya iniciado la herramienta, presione PAG. En la segunda columna se dejarán las etiquetas de los procesos que utilizan memoria no paginada (atributo Nonp), luego se ordenará la lista de controladores por la columna Bytes (presionando B).

Verifique el uso del grupo no paginado con la herramienta PoolMon.exe

Puede ver que en nuestro ejemplo los controladores con etiquetas Nr22, ConT y smNp están usando la mayor parte de la RAM en el grupo no paginado.

Puede encontrar los archivos de controlador exactos relacionados con estos procesos mediante los siguientes comandos:

findstr /m /l /s Nr22 %Systemroot%System32drivers*.sys
findstr /m /l /s ConT %Systemroot%System32drivers*.sys
findstr /m /l /s smNp %Systemroot%System32drivers*.sys

Así que tenemos la lista de archivos de controladores que pueden causar el problema. Ahora debe determinar a qué controladores y componentes del sistema se refieren estos archivos por sus nombres. Para hacerlo, puedes usar sigcheck por Sysinternals.

sigcheck C:WindowsSystem32driversrdyboost.sys

La herramienta devuelve el nombre, la descripción y la versión del controlador o componente de Windows.
sigcheck - obtener el componente / controlador de Windows por archivo sys
Ahora puede intentar desinstalar / actualizar / reinstalar el controlador o servicio problemático.
Esta guía es aplicable tanto para Windows Server 2008 / 2012R2 / 2016 como para escritorio Windows 10, 8.1 y 7.

 

Artículos Interesantes