Search

Language:  
Search for:

Available article translations:

[How To] Resolución de problemas relacionados con una insuficiencia de bloques de memoria paginados y no paginados

APPLIES TO:
  • Parallels Virtuozzo Containers for Windows
  • Parallels Virtual Automation

Síntomas

Los servicios web (w3svc, named, ftpsvc) no funcionan en los contenedores.

En el visor de eventos del nodo hardware pueden verse los siguientes errores:

Event ID 2020
Event Type: Error
Event Source: Srv
Event Category: None
Event ID: 2020
Description: The server was unable to allocate from the system paged pool because the pool was empty.

Event ID 2019
Event Type: Error
Event Source: Srv
Event Category: None
Event ID: 2019
Description: The server was unable to allocate from the system Non-Paged pool because the pool was empty.

Varios procesos pueden ocasionar un error WIN32 1450:

C:\>net helpmsg 1450
1450: Insufficient system resources exist to complete the requested service

O pueden resultar fallidos debido al código 0x8:

C:\>net helpmsg 8
Not enough storage is available to process this command

Como ejemplo de este error, es posible que los contenedores no puedan iniciarse:

C:\>vzctl start 101     
Starting container ...
Parallels Virtuozzo Containers API function call 'VZVolumeMountExW' failed (C:\vz\Private\101\root.efd, {04588fbf-09b5-42a1-af9b-5f0031dd511c}) err = 1450 
Parallels Virtuozzo Containers API function call 'dq_mount' failed 
Cannot set disk quota for container 101
Cannot mount disk for container 101

Puede que no sea posible crear backups de un contenedor:

* Operation backup_env with the Env(s) ct101 is started
* Backing up environment ct101 to backupnode
...
* Operation backup_env with the Env(s) ct101 is finished with errors: 
Failed to backup partition
Acronis Error: Module=7 Code=4, "Write error"{=0}, Tag=0 
Acronis Error: Module=4 Code=3, "Error writing the file."{function="WriteFile"}, Tag=7ceb2cdc9fb1200f 
Acronis Error: Module=0 Code=fff0, "Insufficient system resources exist to complete the requested service."{code=ffffffff800705aa}, Tag=bd28fdbd64edb816 .
Backup operation for node 'vz1' failed: Failed to backup partition
Acronis Error: Module=7 Code=4, "Write error"{=0}, Tag=0 
Acronis Error: Module=4 Code=3, "Error writing the file."{function="WriteFile"}, Tag=7ceb2cdc9fb1200f 
Acronis Error: Module=0 Code=fff0, "Insufficient system resources exist to complete the requested service."{code=ffffffff800705aa}, Tag=bd28fdbd64edb816

Causa

El servidor no dispone de suficientes bloques de memoria no paginados (NP). El bloque de memoria no paginada en sistemas Windows 2003 x86 presenta un límite de 256 MB, que se utiliza para operaciones críticas del kernel.

Debido a las complicaciones en términos de gestión de memoria, en sistemas de 32 bits este es bastante inferior:

  • Windows Server 2003 de 32 bits con un mínimo de 2 GB de RAM tendrá un límite de bloques no paginados de 256 MB
  • Windows Server 2008 de 32 bits tendrá un límite de bloques no paginados de 2 GB o un poco más del 75 % de la memoria física, el valor más pequeño

En sistemas operativos de 64 bits, que disponen de mucho más espacio de dirección, el bloque de memoria no paginada presenta unos límites más elevados:

  • Windows Server 2003 de 64 bits tendrá un límite de bloques no paginados de 128 GB o un poco más del 40 % de la memoria física, el valor más pequeño
  • Windows Server 2008 (o Windows 2008 R2) de 64 bits tendrá un límite de bloques no paginados de 128 GB o un poco más del 75 % de la memoria física, el valor más pequeño

Si el bloque NP presenta una sobrecarga, el sistema se vuelve lento y no responde y puede que algunos componentes de software dejen de funcionar. Por ejemplo, IIS empieza a rechazar conexiones.

La insuficiencia de bloques de memoria NP puede deberse al uso de memoria en software de terceros, malware o a una sobrecarga general debido a operaciones que consumen un gran número de recursos.

Análisis del uso de la memoria del kernel con Pool Monitor

Utilice el administrador de tareas de Windows para verificar el valor de bloques no asignados. Si este valor es elevado (>200 MB en un sistema de 32 bits), analice su uso y ajuste la configuración del servidor.

npp

Descargue e instale el pack de herramientas correspondiente que contiene la utilidad poolmon.exe:

Con la ayuda de poolmon, verifique el uso de los bloques de memoria paginados/no paginados e identifique las etiquetas de memoria que presentan un uso más elevado. En PoolMon Examples encontrará ejemplos del uso de poolmon.

Aquí le mostramos un ejemplo de la salida del análisis del uso de memoria del kernel de poolmon:

tags

Examine la columna Bytes. Esta muestra la utilización exacta.

Preste especial atención a las etiquetas TPLA y NDpp, puesto que podemos modificarlas. Ambas se originan en el stack TCPIP y el controlador ndis.sys. TPLA suelen ocupar unos 5 MB x NUM_CPUs. NPpp es un programador de paquetes.

Si la carga de CPU no es realmente elevada en el servidor, la cantidad de CPUs puede parecer demasiado numerosa. Si limita el número de CPUs lógicas a una cantidad inferior, TPLA se reducirá de forma consecuente.

La cuota de NDpp puede reducirse (o eliminarse totalmente) desactivando distintos programadores de paquetes, incluyendo el modulador de tráfico de PVC y los contenedores configurados para QoS.

Solo existe una etiqueta relacionada con PVC (Drre) y su cuota de NPP es de 14 MB (de los 40 permitidos por diseño). En este punto no estamos experimentando ninguna insuficiencia de bloques de memoria NP debido a componentes de PVC.

Análisis del uso de la memoria del kernel de forma individualizada para cada proceso

A veces, algunos procesos pueden experimentar insuficiencia de memoria del kernel y esto puede detectarse analizando el uso de los bloques de memoria paginados y no paginados de forma individualizada para cada uno de los procesos:

  1. Abra el Administrador de tareas de Windows, haga clic en la pestaña Procesos, vaya a las columnas Ver -> Seleccionar presentes en el menú superior y seleccione las casillas PID, ID de sesión, controladores, Memoria: grupo paginado y grupo no paginado.

  2. Busque los procesos con un uso más elevado de bloques paginados, de bloques no paginados y de controladores ordenando las columnas correspondientes - estos son los candidatos del uso excesivo de memoria.

  3. Busque los contenedores y servicios a los que pertenecen dichos procesos y deténgalos o desactívelos reiniciando el contenedor. Verifique que el uso de los bloques paginados y no paginados se ha estabilizado.

Recursos adicionales

Pushing the Limits of Windows: Paged and Nonpaged Pool
How to use Memory Pool Monitor (Poolmon.exe) to troubleshoot kernel mode memory leaks
PoolMon Examples
Who's Using the Pool?
(Non)paged memory pool limit, it might be smaller then you expect
Troubleshooting Nonpaged and Paged Pool Errors in Windows How to find pool tags that are used by third-party drivers
Windows NT Kernel memory pool tags
Managing Container Memory Pools




909d99074e442b52ce54cc7b31cf065d 4542fc1e09dcc36ad9dbfd547b6b7b3c 2897d76d56d2010f4e3a28f864d69223 de15ebe36a547439f84e5981418f36c7

FEEDBACK
Was this article helpful?
Tell us how we may improve it.
Yes No
 
 
 
 
 
 
Desktop Virtualization
- Parallels Desktop 9 for Mac
- Parallels Transporter
- Parallels Desktop Switch to Mac Edition
- Parallels Desktop for Mac Enterprise Edition
- Parallels Management-Mac for Microsoft SCCM
Server Virtualization
- Parallels Cloud Server
- Parallels Containers for Windows 6.0 Beta
- Parallels Virtuozzo Containers
Automation
- Parallels Automation
- Parallels Automation for Cloud Infrastructure
- Parallels Business Automation Standard
- Parallels Virtual Automation
- Parallels Plesk Panel Suite
- Web Presence Builder
- Parallels Plesk Automation
- Parallels Small Business Panel
- Value-added Services for Hosters
- Parallels Partner Storefront
Services & Resources
- Cloud Acceleration Services
- Professional Services
- Support Services
- Training & Certification